top of page

게시판 게시물

alexhwdo
2024년 6월 15일
In 소스 코드 제출
# def re(x): # return x[::-1] # # # data = [] # n = int(input()) # cnt = 0 # for i in range(n): # y, s = input().split() # x = y+s # x = list(map(int, x)) # data.append(x) # for i in range(n): # if data[i] == re(data[i]): # cnt += 1 # print(cnt) # def f(x, y): # global r # if check[x][y] == 1: # return # check[x][y] = 1 # r += 1 # if r == 36: # return # if data[x][y][1] == 'D': # if x+int(data[x][y][0]) < 6: # return f(x+int(data[x][y][0]), y) # elif data[x][y][1] == 'U': # if x-int(data[x][y][0]) >= 0: # return f(x-int(data[x][y][0]), y) # elif data[x][y][1] == 'L': # if y-int(data[x][y][0]) >= 0: # return f(x, y-int(data[x][y][0])) # elif data[x][y][1] == 'R': # if y+int(data[x][y][0]) < 6: # return f(x, y+int(data[x][y][0])) # # # d = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29 # , 30], [31, 32, 33, 34, 35, 36]] # data = [[0 for j in range(6)] for i in range(6)] # t = 1 # for i in range(6): # a1, a2, a3, a4, a5, a6 = input().split() # data[i][0] = a1 # data[i][1] = a2 # data[i][2] = a3 # data[i][3] = a4 # data[i][4] = a5 # data[i][5] = a6 # # for i in range(6): # # for j in range(6): # # print("(", data[i][j][0], ",", data[i][j][1], ")") # for i in range(6): # for j in range(6): # check = [[0 for m in range(6)] for n in range(6)] # r = 0 # f(i, j) # # print("i, j, r : ", i, j, r) # # for m in range(6): # # for n in range(6): # # print(check[m][n], end=' ') # # print() # if r == 36: # print(d[i][j]) # exit() # board = [list(map(int, input().split())) for i in range(19)] # m = [[1, 0], [1, 1], [0, 1], [-1, 1]] # n = 19 # r = 0 # # for i in range(n): # for j in range(n): # if board[i][j] != 0: # s = board[i][j] # for dy, dx in m: # ny, nx, cnt = i + dy, j + dx, 1 # while 0 <= ny < n and 0 <= nx < n and board[ny][nx] == s: # cnt += 1 # if cnt == 5: # if 0 <= i - dy < n and 0 <= j - dx < n and board[i-dy][j-dx] == s: # break # if 0 <= ny + dy < n and 0 <= nx + dx < n and board[ny+dy][nx+dx] == s: # break # if s == 1: # r = 1 # if s == 2: # r = 2 # y, x = i, j # ny += dy # nx += dx # if r > 0: # print(r) # print(y+1, x+1) # else: # print(0) # n = int(input()) # data = list(map(int, input().split())) # dp = [1]*n # dp2 = [1]*n # for i in range(n-1): # if data[i+1] >= data[i]: # dp[i+1] += dp[i] # for i in range(n-1): # if data[i+1] <= data[i]: # dp2[i+1] += dp2[i] # max1 = max(dp) # max2 = max(dp2) # print(max(max1, max2)) # data = [] # cnt = 0 # x, y, z = map(int, input().split()) # data.append(x) # data.append(y) # data.append(z) # data.sort() # cnt += data[2] - data[1] # data[0] += data[2] - data[1] # data[1] = data[2] # # if data[0] % 2 == data[1] % 2: # cnt += (data[1] - data[0])//2 # data[0] = data[1] # else: # cnt += 1 # data[1] += 1 # data[2] += 1 # cnt += (data[1] - data[0])//2 # data[0] = data[1] # # # print(cnt) # n = int(input()) # r = [0]*n # data = list(map(int, input().split())) # for i in range(n-1, -1, -1): # f = 0 # for j in range(i-1, -1, -1): # if data[j] >= data[i]: # r[i] = j+1 # break # for i in range(n): # print(r[i], end=' ') //#include <stdio.h> //#include <stdlib.h> // //int main() //{ // printf("Hello world!\n"); // return 0; //} //#include<stdio.h> //unsigned long long dp[100000000] ; //int main() //{ // int f = 0, n, i, j, cnt = 0; // scanf("%d",&n); // dp[0] = 0; // for(i=1;i<n+1;i++) // { // f = 0; // j = i; // while(1) // { // if(j % 10 == 3) // { // f = 1; // break; // } // j /= 10; // if(j < 1) // { // break; // } // } // if(f == 0) // { // dp[cnt+1] = dp[cnt]+1; // cnt++; // } // } // printf("%llu",dp[cnt]); //} //for i in range(1, n+1): // f = 0 // j = i // while True: // if int(j) % 10 == 3: // f = 1 // break // j /= 10 // if j < 1: // break // if f == 0: // dp[i] = dp[i-1]+1 // else: // dp[i] = dp[i-1] //print(dp[n])
0
0
1
alexhwdo
2024년 6월 09일
In 소스 코드 제출
//#include <stdio.h> //#include <stdlib.h> // //int main() //{ // printf("Hello world!\n"); // return 0; //} //3 //2 //1 1 : 1 // //101 // // //4 //2 //1 1 : 3 // //1010 //1001 //0101 // // //9 //2 //2 4 // //110111100 //110011110 //110001111 //011011110 //011001111 // // //9 //2 //1 4 : 10 // //101111000 //100111100 //100011110 //100001111 //010111100 //010011110 //010001111 //001011110 //001001111 //000101111 // //9 //2 //2 2 // // //110110000 //110011000 //110001100 //110000110 //110000011 //011011000 //011001100 //011000110 //011000011 //001101100 //001100110 //001100011 //000110110 //000110011 //000011011 // //1, 3, 5, 10, 15 //1, 2, 3, 4 // //#include<stdio.h> //#include<string.h> //int n,m,i,j,data[22][22], sum,check[22][22],check2[22][22]; //int dfs(int x, int y) //{ // if(check[x][y] == 1) // { // sum++; // for(int q=0;q<n;q++) // { // for(int w=0;w<m;w++) // { // check2[q][w] = check[q][w]; // } // } // return; // } // if(data[x][y] == 0) // { // sum--; // for(int q=0;q<n;q++) // { // memset(check[q], 0, sizeof(int)*m); // } // return; // } // check[x][y] = 1; // if(data[x][y] == 1) // { // if(y+1 == m) // { // return; // } // dfs(x, y+1); // } // else if(data[x][y] == 2) // { // if(x+1 == n) // { // return; // } // dfs(x+1, y); // } // else if(data[x][y] == 3) // { // if(y == 0) // { // return; // } // dfs(x, y-1); // } // else if(data[x][y] == 4) // { // if(x == 0) // { // return; // } // dfs(x-1, y); // } //} //int main() //{ // scanf("%d %d",&n,&m); // for(i=0;i<n;i++) // { // for(j=0;j<m;j++) // { // scanf("%d",&data[i][j]); // } // } // if(n == 1 || m == 1) // { // printf("0\n0"); // } // else // { // for(i=0;i<n;i++) // { // for(j=0;j<m;j++) // { // if(data[i][j] != 0 && check[i][j] == 0) // { // dfs(i, j); // } // } // } // if(sum >= 0) // { // printf("%d\n",sum); // } // else if(sum != -399) // { // puts("1"); // } // else // { // puts("0"); // } // for(i=0;i<n;i++) // { // for(j=0;j<m;j++) // { // printf("%d ",check2[i][j]); // } // puts(""); // } // } //} # data = [] # r = [] # for i in range(5): # v = input().split() # data.append(v) # for i in range(5): # for j in range(len(data[0])): # data[i][j] = int(data[i][j]) # for i in range(len(data[0])): # if data[0][i] == 111: # if data[1][i] == 101: # if data[2][i] == 101: # if data[3][i] == 101: # r.append(0) # elif data[3][i] == 1: # r.append(7) # else: # if data[3][i] == 101: # r.append(8) # elif data[3][i] == 1: # r.append(9) # elif data[1][i] == 100: # if data[3][i] == 101: # r.append(6) # elif data[3][i] == 1: # r.append(5) # elif data[1][i] == 1: # if data[3][i] == 100: # r.append(2) # elif data[3][i] == 1: # r.append(3) # elif data[0][i] == 101: # r.append(4) # elif data[0][i] == 1: # r.append(1) # for i in range(len(r)): # print(r[i], end='') # 1 1 1 # 2 10 2 # 3 11 1 # 4 100 # 5 101 # 6 110 # 7 111 # 8 1000 # 9 1001 # 10 1010 # 11 1011 # 12 1100 3 # 13 1101 # 14 1110 # 15 1111 # 16 10000 # 17 10001 # 18 10010
0
0
3
alexhwdo
2024년 6월 02일
In 소스 코드 제출
//#include <stdio.h> //#include <stdlib.h> // //int main() //{ // printf("Hello world!\n"); // return 0; //} //(k^n- l^n)/(k-l) + (l^n - m^n)/(l-m) + (m^n-k^n)/(m-k) //#include<stdio.h> //int n,i; //int data[505] = {}; //int main() //{ // scanf("%d",&n); // for(i=1;i<=n;i++) // { // scanf("%d",&data[i]); // } // data[0] = 0; //} //import java.util.ArrayList; //import java.util.Scanner; // //public class Main //{ // public static void main(String[] args) // { // Scanner sc = new Scanner(System.in); // // int n = sc.nextInt(); // // int count = 0; // double average = 0; // double total = 0; // // sc.nextLine(); // // ArrayList<String> list = new ArrayList<String>(); // ArrayList<String> List = new ArrayList<String>(); // // for ( int i = 0; i < n; i++ ) // { // String temp = sc.nextLine(); // list.add(temp); // } // // for ( int i = 0; i < n; i++ ) // { // String temp = list.get(i).split(" ")[1]; // if (temp.equals("A+")) // total = total + 4.3 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("A0")) // total = total + 4.0 * Double.parseDouble(list.get(i).split(" ")[2]); // else if ( temp.equals("A-")) // total = total + 3.7 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("B+")) // total = total + 3.3 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("B0")) // total = total + 3.0 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("B-")) // total = total + 2.7 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("C+")) // { // total = total + 2.3 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (C+)"); // count++; // } // // else if (temp.equals("C0")) // { // total = total + 2.0 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (C0)"); // count++; // } // else if (temp.equals("C-")) // { // total = total + 1.7 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (C-)"); // count++; // } // else if (temp.equals("D+")) // { // total = total + 1.3 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (D+)"); // count++; // } // else if (temp.equals("D0")) // { // total = total + 1.0 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (D0)"); // count++; // } // else if (temp.equals("D-")) // { // total = total + 0.7 * Double.parseDouble(list.get(i).split(" ")[2]); // List.add(" " + list.get(i).split(" ")[0] + " (D-)"); // count++; // } // else if (temp.equals("F")) // { // total = total + 0; // List.add(" " + list.get(i).split(" ")[0] + " (F)"); // count++; // } // else if (temp.equals("Pass")) // total = total + 4.3 * Double.parseDouble(list.get(i).split(" ")[2]); // else if (temp.equals("Fail")) // { // total = total + 0; // List.add(" " + list.get(i).split(" ")[0] + " (Fail)"); // count++; // } // // average = average + Double.parseDouble(list.get(i).split(" ")[2]); // } // average = Math.round(total / average * 100.0) / 100.0; // // if (average == 4.30) // System.out.printf("Average : %.02f (A+)\n", average); // else if (average >= 4.00 && average < 4.30) // System.out.printf("Average : %.02f (A0)\n", average); // else if (average >= 3.70 && average < 4.00) // System.out.printf("Average : %.02f (A-)\n", average); // else if (average >= 3.30 && average < 3.70) // System.out.printf("Average : %.02f (B+)\n", average); // else if (average >= 3.00 && average < 3.30) // System.out.printf("Average : %.02f (B0)\n", average); // else if (average >= 2.70 && average < 3.00) // System.out.printf("Average : %.02f (B-)\n", average); // else if (average >= 2.30 && average < 2.70) // System.out.printf("Average : %.02f (C+)\n", average); // else if (average >= 2.00 && average < 2.30) // System.out.printf("Average : %.02f (C0)\n", average); // else if (average >= 1.70 && average < 2.00) // System.out.printf("Average : %.02f (C-)\n", average); // else if (average >= 1.30 && average < 7.00) // System.out.printf("Average : %.02f (D+)\n", average); // else if (average >= 1.00 && average < 1.30) // System.out.printf("Average : %.02f (D0)\n", average); // else if (average >= 0.70 && average < 1.00) // System.out.printf("Average : %.02f (D-)\n", average); // else if (average >= 0.00 && average < 0.70) // System.out.printf("Average : %.02f (F)\n", average); // System.out.println(); // System.out.println("RETAKE NEEDED " + "(" + List.size() + ")"); // for (int i = 0; i < List.size(); i++ ) // { // System.out.println(List.get(i)); // } // } //} #include<stdio.h> int main() { int n, m; char data[55][55] = {}; int i,j; scanf("%d %d",&n,&m); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%c",&data[i][j]); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("%c",data[i][j]); } } } # n = int(input()) # v = list(map(int, input().split())) # # s = 0 # sum = 0 # for i in v[::-1]: # if s < i: # s += 1 # else: # s = i # sum += s # # print(sum) # n = int(input()) # data = list(map(int, input().split())) # # # def f(data): # t = sum(data) # if t == 0: # return n//2 # k = 0 # for k, a in enumerate(data): # if a: # break # data = data[k+1:] + data[:k+1] # c = [0] * n # for i in range(n): # if data[i] or c[i]: # continue # for j in range(i, n): # if data[j]: # break # c[j] = 1 # t += (j-i+1)//2 # return t # # # print(f(data)) # n = int(input()) # data = list(map(int, input().split())) # p = set() # # for i in range(n - 1): # for j in range(i + 1, n): # a = (data[j] - data[i]) / (j - i) # if a == int(a): # b = data[j] - a * j # p.add((a, b)) # # list = [] # for (a, b) in p: # change = 0 # for l in range(n): # if data[l] != a * l + b: # change += 1 # list.append(change) # # print(min(list)) # # n = int(input()) # data = [] # r = [0] * 7 # day = ['월', '화', '수', '목', '금', '토', '일'] # flag = 0 # for i in range(n): # v = list(input()) # for j in range(7): # r[j] += int(v[j]) # for i in range(7): # if r[i] == n: # flag = 1 # print(f"{day[i]}요일에 가능") # if flag == 0: # print('다음에 만나요~')
0
0
2
alexhwdo
2024년 5월 26일
In 소스 코드 제출
//#include <stdio.h> //#include <stdlib.h> // //int main() //{ // printf("Hello world!\n"); // return 0; //} //#include<bits/stdc++.h> //#define ll long long //using namespace std; //int main() //{ // ios_base:: sync_with_stdio(false); // cin.tie(NULL); // int t; // ll a0,a1,a2; // ll b0,b1,b2; // cin>>t; // while(t--) // { // cin>>a0>>a1>>a2; // cin>>b0>>b1>>b2; // ll a1b0 = 0,a0b2 = 0,a2b1 = 0,ans = 0; // a1b0 = min(a1,b0); // a1 -= a1b0; // b0 -= a1b0; // // a0b2 = min(a0,b2); // a0 -= a0b2; // b2 -= a0b2; // // a2b1 = min(a2,b1); // a2 -= a2b1; // b1 -= a2b1; // // ans += a2b1 * 2; // ans -= 2 * min(a1,b2); // cout<<ans<<endl; // } // return 0; //} //#include<bits/stdc++.h> //#define vi vector<int> //void solve() //{ // int n,mn=INT_MAX; // scanf("%d",&n); // vi a(n); // for(int i=0;i<n;i++) // { // scanf("%d",&a[i]); // mn=min(a[i],mn); // } // vi b=a; // sort(a.begin(), a. end()); // for(int i=0;i<n;i++) // { // if(a[i]!=b[i] && a[i]%mn) // { // puts("NO"); // return; // } // } // puts("YES"); //} //int main() //{ // int t; // scanf("%d",&t); // for(int i=0;i<t;i++) // { // solve(); // } // return 0; //} //#include<stdio.h> //#include<math.h> //int main() //{ // int n, x,y,i,in_circle = 0; // scanf("%d",&n); // for(i=0;i<n;i++) // { // scanf("%d %d",&x,&y); // if(x*x+y*y <= 1000*1000) // { // in_circle++; // } // } // printf("%lf",(double)(4*in_circle)/n); //} #include<stdio.h> int count[1050005]; int sum; int main() { int a; scanf("%d",&a); if(a % 2 == 1) { a = (a+1)/2; } else { a /= 2; } for (int i = 1; i <= a; i++) { for (int j = 1; j <= a / i; j++) { if(j > i) { continue; } if(2*i*j>i*i-j*j) { continue; } count[i*j]++; } } sum += count[a]; printf("%d",sum); } # import sys # from PyQt5.QtWidgets import * # # # class MyApp(QWidget): # # def init(self): # super().__init__() # self.initui() # # def initui(self): # # btn1 = QPushButton(self) # btn1.setText('1') # btn1.resize(50, 50) # btn1.clicked.connect(self.number1) # # btn2 = QPushButton(self) # btn2.setText('2') # btn2.clicked.connect(self.number2) # # btn3 = QPushButton(self) # btn3.setText('3') # btn3.clicked.connect(self.number3) # # btn4 = QPushButton(self) # btn4.setText('4') # btn4.clicked.connect(self.number4) # # btn5 = QPushButton(self) # btn5.setText('5') # btn5.clicked.connect(self.number5) # # btn6 = QPushButton(self) # btn6.setText('6') # btn6.clicked.connect(self.number6) # # btn7 = QPushButton(self) # btn7.setText('7') # btn7.clicked.connect(self.number7) # # btn8 = QPushButton(self) # btn8.setText('8') # btn8.clicked.connect(self.number8) # # btn9 = QPushButton(self) # btn9.setText('9') # btn9.clicked.connect(self.number9) # # btn0 = QPushButton(self) # btn0.setText('0') # btn0.clicked.connect(self.number0) # # btn10 = QPushButton(self) # btn10.setText("/") # btn10.clicked.connect(self.operator_divide) # # btn11 = QPushButton(self) # btn11.setText("*") # btn11.clicked.connect(self.operator_multiply) # # btn12 = QPushButton(self) # btn12.setText("+") # btn12.clicked.connect(self.operator_plus) # # btn13 = QPushButton(self) # btn13.setText("-") # btn13.clicked.connect(self.operator_minus) # # btn14 = QPushButton(self) # btn14.setText(".") # btn14.clicked.connect(self.other1) # # btn15 = QPushButton(self) # btn15.setText("=") # btn15.clicked.connect(self.equal) # # btn16 = QPushButton(self) # btn16.setText("(") # btn16.clicked.connect(self.other2) # # btn17 = QPushButton(self) # btn17.setText(")") # btn17.clicked.connect(self.other3) # # btn18 = QPushButton(self) # btn18.setText("%") # btn18.clicked.connect(self.other4) # # btn19 = QPushButton(self) # btn19.setText("AC(BackSpace)") # btn19.clicked.connect(self.delete) # # vbox = QGridLayout() # vbox.addWidget(btn1, 3, 0) # vbox.addWidget(btn2, 3, 1) # vbox.addWidget(btn3, 3, 2) # vbox.addWidget(btn4, 2, 0) # vbox.addWidget(btn5, 2, 1) # vbox.addWidget(btn6, 2, 2) # vbox.addWidget(btn7, 1, 0) # vbox.addWidget(btn8, 1, 1) # vbox.addWidget(btn9, 1, 2) # vbox.addWidget(btn0, 4, 0) # vbox.addWidget(btn10, 1, 3) # vbox.addWidget(btn11, 2, 3) # vbox.addWidget(btn12, 4, 3) # vbox.addWidget(btn13, 3, 3) # vbox.addWidget(btn14, 4, 1) # vbox.addWidget(btn15, 4, 2) # vbox.addWidget(btn16, 0, 0) # vbox.addWidget(btn17, 0, 1) # vbox.addWidget(btn18, 0, 2) # vbox.addWidget(btn19, 0, 3) # # self.lbl = QLabel(self) # self.lbl.move(60, 40) # # self.qle1 = QLineEdit(self) # self.qle1.move(0, 0) # self.qle1.resize(364, 30) # self.qle1.textChanged[str].connect(self.onChanged) # # self.qle2 = QLineEdit(self) # self.qle2.move(0, 35) # self.qle2.resize(364, 30) # # self.qle3 = QLineEdit(self) # self.qle3.hide() # # self.qle4 = QLineEdit(self) # self.qle4.hide() # # self.setLayout(vbox) # self.setWindowTitle('공학용 계산기') # self.setGeometry(300, 300, 300, 500) # self.show() # # def onChanged(self, text): # self.lbl.setText(text) # self.lbl.adjustSize() # # def operator_divide(self): # self.qle1.setText(self.qle1.text() + str('/')) # # def operator_multiply(self): # self.qle1.setText(self.qle1.text() + str('*')) # # def operator_plus(self): # self.qle1.setText(self.qle1.text() + str('+')) # # def operator_minus(self): # self.qle1.setText(self.qle1.text() + str('-')) # # def number1(self): # self.qle1.setText(self.qle1.text()+str(1)) # # def number2(self): # self.qle1.setText(self.qle1.text()+str(2)) # # def number3(self): # self.qle1.setText(self.qle1.text()+str(3)) # # def number4(self): # self.qle1.setText(self.qle1.text()+str(4)) # # def number5(self): # self.qle1.setText(self.qle1.text()+str(5)) # # def number6(self): # self.qle1.setText(self.qle1.text()+str(6)) # # def number7(self): # self.qle1.setText(self.qle1.text()+str(7)) # # def number8(self): # self.qle1.setText(self.qle1.text()+str(8)) # # def number9(self): # self.qle1.setText(self.qle1.text()+str(9)) # # def number0(self): # self.qle1.setText(self.qle1.text()+str(0)) # # def other1(self): # self.qle1.setText(self.qle1.text() + str('.')) # # def other2(self): # self.qle1.setText(self.qle1.text() + str('(')) # # def other3(self): # self.qle1.setText(self.qle1.text() + str(')')) # # def other4(self): # self.qle1.setText(self.qle1.text() + str('%')) # # def equal(self): # self.qle3 = self.qle1.text() # self.qle4 = eval(self.qle3) # self.qle2.setText(str(self.qle4)) # # def delete(self): # self.qle3 = self.qle1.text() # self.qle3 = self.qle3[:-1] # self.qle1.setText(self.qle3) # # # if name == '__main__': # app = QApplication(sys.argv) # ex = MyApp() # sys.exit(app.exec_()) # D = {} # z = [(i, (1 << i)-1) for i in range(1, 30)] # # # def f(s, e): # if (s, e) in D: # return D[(s, e)] # data = max([f(max(0, s-c), min(c, e-c))+i for i, c in z if s <= 2*c and c <= e], default=0) # D[(s, e)] = data # return data # # # t = int(input()) # for i in range(t): # x, y = map(int, input().split()) # print(f(x, y))
0
0
3
alexhwdo
2024년 5월 18일
In 소스 코드 제출
# from collections import deque # m, n, h = map(int, input().split()) # graph = [[list(map(int, input().split())) for in range(n)] for in range(h)] # queue = deque() # # dx = [-1, 1, 0, 0, 0, 0] # dy = [0, 0, -1, 1, 0, 0] # dz = [0, 0, 0, 0, -1, 1] # # cnt = 0 # for z in range(h): # for y in range(n): # for x in range(m): # if graph[z][y][x] == 1: # queue.append((x, y, z, 0)) # elif graph[z][y][x] == 0: # cnt += 1 # # if cnt == 0: # print(0) # else: # result = 0 # # while queue: # x, y, z, cnt = queue.popleft() # result = cnt # # for i in range(6): # nx = dx[i] + x # ny = dy[i] + y # nz = dz[i] + z # # if 0 <= nx < m and 0 <= ny < n and 0 <= nz < h and not graph[nz][ny][nx]: # if graph[nz][ny][nx] == -1: # continue # graph[nz][ny][nx] = 1 # queue.append((nx, ny, nz, cnt + 1)) # # for z in range(h): # for y in range(n): # for x in range(m): # if graph[z][y][x] == 0: # print(-1) # exit() # print(result) # from bisect import bisect_left, bisect_right # # n, q = map(int, input().split()) # T = 200001 # xa = [[] for i in range(T)] # ya = [[] for i in range(T)] # for i in range(n): # x, y, w = map(int, input().split()) # xa[x].append((y, w)) # ya[y].append((x, w)) # # # def make_list(arr, p, to): # arr.sort() # t = 0 # for pa, items in arr: # p.append(pa) # t += items # to.append(t) # # # xp = [[] for i in range(T)] # yp = [[] for i in range(T)] # xt = [[] for i in range(T)] # yt = [[] for i in range(T)] # # for i in range(T): # make_list(xa[i], xp[i], xt[i]) # make_list(ya[i], yp[i], yt[i]) # # # def get_items(p, to, left, right): # start = bisect_left(p, left) # end = bisect_right(p, right) - 1 # # result = 0 # if end < start: # result = 0 # else: # result = to[end] # if 0 < start: # result -= to[start - 1] # # return result # # # x, y, ans = 1, 1, 0 # for i in range(q): # d, v = map(int, input().split()) # if d == 0: # ans += get_items(yp[y], yt[y], x + 1, x + v) # x += v # elif d == 1: # ans += get_items(xp[x], xt[x], y + 1, y + v) # y += v # elif d == 2: # ans += get_items(yp[y], yt[y], x - v, x - 1) # x -= v # elif d == 3: # ans += get_items(xp[x], xt[x], y - v, y - 1) # y -= v # # print(ans) //#include<stdio.h> //#include<vector> //#include<string.h> //char str[1002]; //char str2[1002]; //int main() //{ // int i,j; // scanf("%s",str1); // scanf("%s",str2); // str1_len = strlen(str1); // str2_len = strlen(str2); // vector<vector<int>>LCS(str1_len, vector<int>(str1_len+1, 0)); // for(i=1;i<=str1_len;i++) // { // for(j=1;j<=str2_len;j++) // { // if(str1[i-1] == str2[j-1]) // { // LCS[i][j] = LCS[i-1][j-1] + 1; // } // else // { // LCS[i][j] = max(LCS[i-1][j], LCS[i][j-1]); // } // } // } // printf("%d",LCS[str2_len][str1_len]); //} //#include<stdio.h> //#define MOD 99824353 //int f[300001]; //int inv[300001]; //void make_comb(int a) //{ // inv[0] = 1; // inv[1] = 1; // f[0] = 1; // f[1] = 1; // for(int i=2;i<=a+2;i++) // { // f[i] = 1LL*f[i-1]*i%MOD; // } // for(int i=2;i<=a+2;i++) // { // inv[i] = -1LL*(MOD/i)*inv[MOD % i] % MOD; // } // for(int i=2;i<=a+2;i++) // { // inv[i] = 1LL*inv[i-1]*((inv[i] + MOD) % MOD)%MOD; // } //} //int nCr(int n, int r) //{ // return (long long)f[n] inv[r]%MODinv[n-r]%MOD; //} //int main() //{ // int i,j,n; // int sum = 0; // scanf("%d",&n); // make_comb(n); // for(i = 0; i<=n; i++) // { // for(j = 0; j <= i; j++) // { // sum += (nCr(i,j)*nCr(i,j))%MOD; // } // } // printf("%d",sum); // return 0; //} //#include <stdio.h> //#include <string.h> //char s[] = "+-"; //int a[10]; //void dfs(int d, int n) //{ // if (d == n) // { // int sum = 0, p = 1; // for (int i = 1; i < n; ++i) // { // if (a[i] == 1) // { // sum += p; // p = i + 1; // } // else if (a[i] == 2) // { // sum += p; // p = -i - 1; // } // else // { // p *= 10; // if (p > 0) // { // p += i + 1; // } // else // { // p -= i + 1; // } // } // } // sum += p; // if (sum == 24) // { // putchar('1'); // for (int i = 1; i < n; ++i) // { // printf("%c%d", s[a[i]], i + 1); // } // puts(""); // } // return; // } // for (int i = 0; i < 3; ++i) // { // a[d] = i; // dfs(d + 1, n); // } //} //int main() //{ // int n; // scanf("%d", &n); // dfs(1, n); // return 0; //} //a[7][2],m; //main(i,j,n,k,s,y,t) //{ // scanf("%d%d",&n,&k); // for(i=0;i<n;i++)scanf("%d%d",&s,&y),a[y][s]++; // for(i=1;i<=6;i++)for(j=0; j<2; j++) // { // if(a[i][j]==0)t=0; // else if(a[i][j]%k==0)t=a[i][j]/k; // else t=(a[i][j]/k)+1; // m+=t; // } // printf("%d",m); //} //#include<stdio.h> //#define min(x,y) (x) > (y) ? (y) : (x) //int n, arr[1000100] ; //long long R=1e18; //int main() //{ // int i,j; // scanf("%d",&n); // for(i=1; i<=n; i++) // { // scanf("%d",&arr[i]); // arr[i] %= 2; // } // for(j=0; j<2; j++) // { // long long cnt = 0, a = 0; // for(i=1; i<=n; i++) // { // if(arr[i] == j) // { // a++; // } // else // { // cnt += a; // } // } // R = min(R, cnt); // } // printf("%lld",R); //} //#include <bits/stdc++.h> //using namespace std; //int N; //string S; //vector<int> V[3]; //int main() //{ // scanf("%s",S); // N = S.size(); // for(int i=0; i<N; i++) // { // V[S[i]-'A'].push_back(i); // } // int r = 0; // for(int i=(int)V[1].size()-1, j=(int)V[0].size()-1; i>=0; i--) // { // while(j >= 0 && V[1][i] < V[0][j]) // { // j--; // } // if(j >= 0) // { // r++; // j--; // V[1].pop_back(); // } // } // for(int i=0, j=0; i<V[1].size(); i++) // { // while(j < V[2].size() && V[2][j] < V[1][i]) // { // j++; // } // if(j < V[2].size()) // { // r++; // j++; // } // } // printf("%d",r); //}
0
0
1
alexhwdo
2024년 5월 11일
In 소스 코드 제출
//#include<stdio.h> //int main() //{ // int n,data[100005] = {},i,j,r=0,number[3] = {}; // scanf("%d", &n); // for(i=0;i<n;i++) // { // scanf("%d",&data[i]); // data[i] %= 3; // number[data[i]]++; // } // r += (number[0] * (number[0]-1))/2; // if(number[data[0]] == 0 || number[data[0]] == 1) // { // r--; // } // r += number[1] * number[2]; // printf("%d",r); //} //#include<stdio.h> //int main() //{ // int n,i,j,count[10000005] = {},max = 0,loc; // scanf("%d",&n); // for (i = 1; i <= n; i++) // { // for (j = 1; j <= n/ i; j++) // { // count[i * j]++; // } // } // for(i=1;i<=n;i++) // { // if(count[i] > max) // { // max = count[i]; // loc = i; // } // } // printf("%d",n-loc+1); //} //#include <stdio.h> //#define max(x,y) ((x) > (y) ? (x) : (y)) //int field[501][501]; //int visit[501][501]; //int n; //int isin(int x, int y) //{ // return x >= 0 && y >= 0 && x < n && y < n; //} //int dx[4] = { 1, -1, 0, 0 }; //int dy[4] = { 0, 0, 1, -1 }; //void dfs(int x, int y, int h) //{ // for (int k = 0; k < 4; k++) // { // int nx = x + dx[k]; // int ny = y + dy[k]; // if (isin(nx, ny) && field[nx][ny] > h) // { // if (visit[nx][ny] == 0) // { // visit[nx][ny] = 1; // dfs(nx, ny, h); // } // } // } //} //int check(int h) //{ // int ret = 0; // memset(visit, 0, sizeof(visit)); // for (int i = 0; i < n; i++) // { // for (int j = 0; j < n; j++) // { // if (visit[i][j] == 0 && field[i][j] > h) // { // visit[i][j] = 1; // ret++; // dfs(i, j, h); // } // } // } // return ret; //} //int main() //{ // scanf("%d",&n); // for (int i = 0; i < n; i++) // { // for (int j = 0; j < n; j++) // { // scanf("%d",&field[i][j]) ; // } // } // int ans = 1; // for (int i = 1; i <= 501; i++) // { // ans = max(ans, check(i)); // } // printf("%d",ans); // return 0; //} //#include<stdio.h> //int main() //{ // int arr[300005][300005] = {}; // int i,j,n; // int sum = 0; // scanf("%d",&n); // for(i = 1;i<=n+1;i++) // { // for(j = 1;j <= i;j++) // { // if(j == 1 || j == i) // { // arr[i][j] = 1; // } // else // { // arr[i][j] = arr[i-1][j-1]+arr[i-1][j]; // } // sum += (arr[i][j] * arr[i][j]) % 99824353; // } // } // printf("%d",sum); // return 0; //} //1 5 : 6 //12 29 : 41 //12 22 : 34 //12 15 : 27 //12 8 : 20 //12 1 : 13 //main() //{ // printf("%d",6+41+34+27+20+13); //} #include<stdio.h> int f(k,j) { if(k == 1) { return; } if(j == 2) { return ((f(k-1,0)%131) + (f(k-1 ,1)%131) + (f(k-1, 2)%131))%131; } else if(j == 1) { return ((f(k-1, 1)%131) + (f(k-1, 2)%131))%131; } else if(j == 0) { return ((f(k-1, 0)%131) + (f(k-1, 2)%131)); } } int main() { int n, k, i; unsigned long long int sum = 0; scanf("%d",&n); for(i=0;i<=2;i++) { sum += f(n,i)%131; } printf("%llu",sum); } # day = int(input()) # codeup = list(map(int, input().split())) # koistudy = list(map(int, input().split())) # result = 0 # # # def l(d, cnum, knum, val): # global result # # if day <= d: # if cnum != 0 and knum != 0: # result = max(result, val) # return # # for i in range(2): # if i == 0: # val += codeup[d] # cnum += 1 # l(d + 1, cnum, knum, val) # val -= codeup[d] # cnum -= 1 # elif i == 1: # val += koistudy[d] # knum += 1 # l(d + 1, cnum, knum, val) # val -= koistudy[d] # knum -= 1 # # # l(0, 0, 0, 0) # print(result) # 인수의 특징 # 학교에선 좀 조용하다 # 발로란트, 쿠키런, 브롤스타즈 등의 여러게임을 한다 # 나랑 좀 친하다(진짜 조금) # 운동을 좋아하지 않는다 # 결단력이 좋지 않다 # 피아노 개잘침 # 가끔씩 돌 + I # 비밀이 많다 # day = int(input()) # codeup = list(map(int, input().split())) # koistudy = list(map(int, input().split())) # r = 0 # date = 0 # cnum = 0 # knum = 0 # carr = [0, 1001] # karr = [0, 1001] # tmp = 0 # # for date in range(day): # if codeup[date] > koistudy[date]: # r += codeup[date] # cnum += 1 # tmp = codeup[date] - koistudy[date] # if date == 0: # carr[0] = date # carr[1] = tmp # elif carr[1] > tmp and koistudy[date] > koistudy[carr[0]]: # carr[0] = date # carr[1] = tmp # elif codeup[date] < koistudy[date]: # r += koistudy[date] # knum += 1 # tmp = koistudy[date] - codeup[date] # if date == 0: # karr[0] = date # karr[1] = tmp # elif karr[1] > tmp and codeup[date] > codeup[karr[0]]: # karr[0] = date # karr[1] = tmp # elif codeup[date] == koistudy[date]: # tmp = 0 # if cnum >= knum: # r += koistudy[date] # knum += 1 # if date == 0: # karr[0] = date # karr[1] = tmp # elif karr[1] > tmp and codeup[date] > codeup[karr[0]]: # karr[0] = date # karr[1] = tmp # else: # r += codeup[date] # cnum += 1 # if date == 0: # carr[0] = date # carr[1] = tmp # elif carr[1] > tmp and koistudy[date] > koistudy[carr[0]]: # carr[0] = date # carr[1] = tmp # # if knum == 0: # r -= codeup[carr[0]] # r += koistudy[carr[0]] # elif cnum == 0: # r -= koistudy[karr[0]] # r += codeup[karr[0]] # # print(r) # print('[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]') # print(' [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]') # print('[[0 1 0 1 0 1 0 1]') # print(' [1 0 1 0 1 0 1 0]') # print(' [0 1 0 1 0 1 0 1]') # print(' [1 0 1 0 1 0 1 0]') # print(' [0 1 0 1 0 1 0 1]') # print(' [1 0 1 0 1 0 1 0]') # print(' [0 1 0 1 0 1 0 1]') # print(' [1 0 1 0 1 0 1 0]]')
0
0
2
alexhwdo
2024년 5월 04일
In 소스 코드 제출
//#include<stdio.h> //#include<math.h> //int main() //{ // double num; // scanf("%lf", &num); // double i = 0; // double j = 1; // while(1) // { // if (round(i / j 1000.0) / 1000.0 == round(num 100.0) / 10000.0) // { // printf("%d/%d",(int)i, (int)j); // return 0; // } // else if (i == j) // { // j++; // i = 0; // } // else // { // i++; // } // } //} //#include<stdio.h> //int main() //{ // int n, m, i, j,a,b,data[200010] = {},x; // scanf("%d",&n); // for(i=0; i<n; i++) // { // scanf("%d",&data[i]); // } // scanf("%d",&m); // for(i=0; i<m; i++) // { // int k = 0; // scanf("%d %d %d",&a, &b, &x); // for(j=a-1; j<b; j++) // { // if(x < data[j]) // { // k++; // } // } // printf("%d\n",k); // } //} //#include<stdio.h> //int f(int k) //{ // //} //int main() //{ // int b,i,j,n,data[25] = {},max = 0; // scanf("%d",&b); // scanf("&d",&n); // for(i=0;i<n;i++) // { // scanf("%d",&data[i]); // } // for(i=0;i<n;i++) // { // for(j=1;j<=i;j++) // { // f(j); // } // } //} //#include<stdio.h> //int main() //{ // int n,i; // long long int dp[62] = {}; // scanf("%d",&n); // dp[2] = 1; // dp[3] = 3; // for(i=4;i<=n;i++) // { // dp[i] = dp[i-1] +dp[i-2]*2; // } // printf("%lld",dp[n]); //} //2 : 1 //3 : 3 //4 : 5(1) //5 : 11(3) //6 : 21(5) //#include <stdio.h> //int main() //{ // int vec[10000005] = {}; // int num, max = 0; // int x1, x2, y,i; // int min_ = 10000001, max_ = 0; // scanf("%d",&num); // for (i = 0; i < num; i++) // { // scanf("%d %d %d",&x1,&x2,&y); // if (min_ > x1) // { // min_ = x1; // } // if (max_ < x2) // { // max_ = x2; // } // vec[x1] += 1; // vec[x2 + 1] -= 1; // } // int check = 0; // for (i = min_; i < max_; i++) // { // check += vec[i]; // if (max < check) // { // max = check; // if(max >= num || check + (max_ - (i + 1)) <= max) // { // break; // } // } // } // printf("%d",max); //} //#include<stdio.h> //#include<string.h> //int main() //{ // int i,j,t,l; // char data[1001]; // char arr[17] = "0123456789ABCDEF"; // int brr[17] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; // scanf("%s",data); // l = strlen(data); // if(data[0] == 'O' && data[l-1] == 'X') // { // for(i=l-2;i>=1;i-=2) // { // t = 0; // for(j=0;j<16;j++) // { // if(data[i] == arr[j]) // { // t += brr[j] * 16; // break; // } // } // for(j=0;j<16;j++) // { // if(data[i-1] == arr[j]) // { // t += brr[j]; // break; // } // } // printf("%c",t); // } // } // else // { // printf("data error"); // } //} # # import sys # from PyQt5.QtWidgets import * # # # class MyApp(QWidget): # # def init(self): # super().__init__() # self.initui() # # def initui(self): # # btn1 = QPushButton(self) # btn1.setText('1') # btn1.resize(50, 50) # btn1.clicked.connect(self.number1) # # btn2 = QPushButton(self) # btn2.setText('2') # btn2.clicked.connect(self.number2) # # btn3 = QPushButton(self) # btn3.setText('3') # btn3.clicked.connect(self.number3) # # btn4 = QPushButton(self) # btn4.setText('4') # btn4.clicked.connect(self.number4) # # btn5 = QPushButton(self) # btn5.setText('5') # btn5.clicked.connect(self.number5) # # btn6 = QPushButton(self) # btn6.setText('6') # btn6.clicked.connect(self.number6) # # btn7 = QPushButton(self) # btn7.setText('7') # btn7.clicked.connect(self.number7) # # btn8 = QPushButton(self) # btn8.setText('8') # btn8.clicked.connect(self.number8) # # btn9 = QPushButton(self) # btn9.setText('9') # btn9.clicked.connect(self.number9) # # btn0 = QPushButton(self) # btn0.setText('0') # btn0.clicked.connect(self.number0) # # btn10 = QPushButton(self) # btn10.setText("/") # btn10.clicked.connect(self.operator_divide) # # btn11 = QPushButton(self) # btn11.setText("*") # btn11.clicked.connect(self.operator_multiply) # # btn12 = QPushButton(self) # btn12.setText("+") # btn12.clicked.connect(self.operator_plus) # # btn13 = QPushButton(self) # btn13.setText("-") # btn13.clicked.connect(self.operator_minus) # # btn14 = QPushButton(self) # btn14.setText(".") # btn14.clicked.connect(self.other1) # # btn15 = QPushButton(self) # btn15.setText("=") # btn15.clicked.connect(self.equal) # # btn16 = QPushButton(self) # btn16.setText("(") # btn16.clicked.connect(self.other2) # # btn17 = QPushButton(self) # btn17.setText(")") # btn17.clicked.connect(self.other3) # # btn18 = QPushButton(self) # btn18.setText("%") # btn18.clicked.connect(self.other4) # # btn19 = QPushButton(self) # btn19.setText("AC(BackSpace)") # btn19.clicked.connect(self.delete) # # vbox = QGridLayout() # vbox.addWidget(btn1, 3, 0) # vbox.addWidget(btn2, 3, 1) # vbox.addWidget(btn3, 3, 2) # vbox.addWidget(btn4, 2, 0) # vbox.addWidget(btn5, 2, 1) # vbox.addWidget(btn6, 2, 2) # vbox.addWidget(btn7, 1, 0) # vbox.addWidget(btn8, 1, 1) # vbox.addWidget(btn9, 1, 2) # vbox.addWidget(btn0, 4, 0) # vbox.addWidget(btn10, 1, 3) # vbox.addWidget(btn11, 2, 3) # vbox.addWidget(btn12, 4, 3) # vbox.addWidget(btn13, 3, 3) # vbox.addWidget(btn14, 4, 1) # vbox.addWidget(btn15, 4, 2) # vbox.addWidget(btn16, 0, 0) # vbox.addWidget(btn17, 0, 1) # vbox.addWidget(btn18, 0, 2) # vbox.addWidget(btn19, 0, 3) # # self.lbl = QLabel(self) # self.lbl.move(60, 40) # # self.qle1 = QLineEdit(self) # self.qle1.move(0, 0) # self.qle1.resize(364, 30) # self.qle1.textChanged[str].connect(self.onChanged) # # self.qle2 = QLineEdit(self) # self.qle2.move(0, 35) # self.qle2.resize(364, 30) # # self.qle3 = QLineEdit(self) # self.qle3.hide() # # self.qle4 = QLineEdit(self) # self.qle4.hide() # # self.setLayout(vbox) # self.setWindowTitle('공학용 계산기') # self.setGeometry(300, 300, 300, 500) # self.show() # # def onChanged(self, text): # self.lbl.setText(text) # self.lbl.adjustSize() # # def operator_divide(self): # self.qle1.setText(self.qle1.text() + str('/')) # # def operator_multiply(self): # self.qle1.setText(self.qle1.text() + str('*')) # # def operator_plus(self): # self.qle1.setText(self.qle1.text() + str('+')) # # def operator_minus(self): # self.qle1.setText(self.qle1.text() + str('-')) # # def number1(self): # self.qle1.setText(self.qle1.text()+str(1)) # # def number2(self): # self.qle1.setText(self.qle1.text()+str(2)) # # def number3(self): # self.qle1.setText(self.qle1.text()+str(3)) # # def number4(self): # self.qle1.setText(self.qle1.text()+str(4)) # # def number5(self): # self.qle1.setText(self.qle1.text()+str(5)) # # def number6(self): # self.qle1.setText(self.qle1.text()+str(6)) # # def number7(self): # self.qle1.setText(self.qle1.text()+str(7)) # # def number8(self): # self.qle1.setText(self.qle1.text()+str(8)) # # def number9(self): # self.qle1.setText(self.qle1.text()+str(9)) # # def number0(self): # self.qle1.setText(self.qle1.text()+str(0)) # # def other1(self): # self.qle1.setText(self.qle1.text() + str('.')) # # def other2(self): # self.qle1.setText(self.qle1.text() + str('(')) # # def other3(self): # self.qle1.setText(self.qle1.text() + str(')')) # # def other4(self): # self.qle1.setText(self.qle1.text() + str('%')) # # def equal(self): # self.qle3 = self.qle1.text() # self.qle4 = eval(self.qle3) # self.qle2.setText(str(self.qle4)) # # def delete(self): # self.qle3 = self.qle1.text() # self.qle3 = self.qle3[:-1] # self.qle1.setText(self.qle3) # # # if name == '__main__': # app = QApplication(sys.argv) # ex = MyApp() # sys.exit(app.exec_()) # t = int(input()) # for i in range(t): # n = int(input()) # data = [list(map(int, input().split())) for j in range(2)] # dp = [[0] * n for j in range(2)] # dp[0][0] = data[0][0] # dp[1][0] = data[1][0] # if n == 1: # print(max(dp[0][0], dp[1][0])) # continue # dp[0][1] = data[1][0] + data[0][1] # dp[1][1] = data[0][0] + data[1][1] # if n == 2: # print(max(dp[0][1], dp[1][1])) # continue # for j in range(2, n): # dp[0][j] = max(dp[1][j-2], dp[1][j-1]) + data[0][j] # dp[1][j] = max(dp[0][j-2], dp[0][j-1]) + data[1][j] # print(max(dp[0][-1], dp[1][-1])) # n = int(input()) # if n == 1: # print(3) # else: # dp = [1 for i in range(n+1)] # dp[1] = 3 # dp[2] = 7 # for i in range(3, n+1): # dp[i] = (2 * dp[i-1] + dp[i-2]) % 9901 # print(dp[n])
0
0
1
alexhwdo
2024년 4월 28일
In 소스 코드 제출
//#include<stdio.h> //#include<math.h> //#define min(x,y) ((x) > (y) ? (x) : (y)) //int main() //{ // int n,data[505][505]= {},max=-999999,i,j,k,x,y; // int arr_rowsum[505][505] = {}; // int x1, x2, y1, y2; // scanf("%d",&n); // for(i=1; i<=n; i++) // { // for(j=1; j<=n; j++) // { // scanf("%d",&data[i][j]); // } // } // for(i=1; i<=n; i++) // { // for(j=1; j<=n; j++) // { // arr_rowsum[i][j] = arr_rowsum[i][j-1] + data[i][j]; // } // } // for(i=1; i<=n; i++) // { // for(j=i; j<=n; j++) // { // int tmp_sum = 0; // int h = 1; // for(k=1; k<=n; k++) // { // tmp_sum += (arr_rowsum[k][j] - arr_rowsum[k][i-1]); // if(tmp_sum > max) // { // max = tmp_sum; // x1 = i; // y1 = h; // x2 = j; // y2 = k; // } // else if(tmp_sum <= 0) // { // tmp_sum = 0; // h = k+1; // } // } // } // } // if(max > 0) // { // printf("%d\n",max); // printf("%d %d %d %d",x1,y1,x2,y2); // } // else // { // printf("-1"); // } //} //#include<stdio.h> //#include<math.h> //#define min(x,y) ((x) > (y) ? (x) : (y)) //int main() //{ // int n,data[505][505]= {},min=999999,i,j,k,x,y; // int arr_rowsum[505][505] = {}; // int x1, x2, y1, y2; // scanf("%d",&n); // for(i=1; i<=n; i++) // { // for(j=1; j<=n; j++) // { // scanf("%d",&data[i][j]); // } // } // for(i=1; i<=n; i++) // { // for(j=1; j<=n; j++) // { // arr_rowsum[i][j] = arr_rowsum[i][j-1] + data[i][j]; // } // } // for(i=1; i<=n; i++) // { // for(j=i; j<=n; j++) // { // int tmp_sum = 0; // int h = 1; // for(k=0; k<=n; k++) // { // tmp_sum += (arr_rowsum[k][j] - arr_rowsum[k][i-1]); // if(tmp_sum < min) // { // min = tmp_sum; // x1 = i; // y1 = h; // x2 = j; // y2 = k; // } // else if(tmp_sum > 0) // { // tmp_sum = 0; // h = k+1; // } // } // } // } // if(min < 0) // { // printf("%d\n", -min); // printf("%d %d %d %d",x1,y1,x2,y2); // } // else // { // printf("GREAT"); // } //} #include<stdio.h> int n, m, i, j,a,b,k = 0,data[100010] = {},x; int main() { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&data[i]); } scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d %d %d",&a, &b, &x); for(j=a-1;j<b;j++) { if(data[j] > x) { k++; } } printf("%d\n",k); k = 0; } return 0; }
0
0
1
alexhwdo
2024년 4월 20일
In 소스 코드 제출
//#include<stdio.h> //int main() //{ // int n; // int data[20][5] = {},i,j,k; // int min_nutrient[4] = {}; // int min = 10000; // // scanf("%d", &n); // for(i=0;i<4;i++) // { // scanf("%d",&min_nutrient[i]); // } // for(i=0;i<n;i++) // { // for(j=0;j<5;j++) // { // scanf("%d",&data[i][j]); // } // } // // for(i=0;i<pow(2,n);i++) // { // int r[4]= {0,0,0,0}; // int s[] // for(j=0;j<;j++) // { // // } // } //} //#include <stdio.h> //int main() //{ // int n; // int h[100000]= {}; // int count=1; // int tmp, i; // scanf("%d", &n); // for(i=0; i<n; i++) // { // scanf("%d", &h[i]); // } // tmp = h[n-1]; // for(i=n-2; i>=0; i--) // { // if(h[i]>tmp) // { // tmp=h[i]; // count++; // } // } // printf("%d", count); //} //q = 100000000 //result = q //n = int(input()) //for i in range(n): // x, y = map(int, input().split()) // if x <= y: // if result < y: // result = result // elif result >= y: // result = y // //if result == q: // print(-1) //else: // print(result) //#include <stdio.h> //int main() //{ // int n, i,j,k, cnt=0; // scanf("%d", &n); // for(k=n/3; k<=n/2; k++) // for(i=1; i<=n/3; i++) // { // j = n - (i+k); // if (i+j > k && (i <=j && j<=k)) // { // cnt++; // } // } // printf("%d", cnt); // return 0; //} //#include <stdio.h> //#include <string.h> //void dfs(int c[10][10], int x, int y) //{ // if (x < 0 || y < 0 || x > 9 || y > 9 || c[x][y] == 0) // { // return; // } // c[x][y] = 0; // dfs(c, x - 1, y); // dfs(c, x + 1, y); // dfs(c, x, y - 1); // dfs(c, x, y + 1); //} //int f(int map[10][10]) //{ // int c[10][10] = {}; // memcpy(c, map, sizeof(c)); // int cnt = 0; // for (int i = 0; i < 10; i++) // { // for (int j = 0; j < 10; j++) // { // if (c[i][j] == 1) // { // cnt++; // dfs(c, i, j); // } // } // } // return cnt; //} // //int main() //{ // int i,j; // int map[10][10] = {}; // for (i = 0; i < 10; i++) // { // for (j = 0; j < 10; j++) // { // scanf("%d", &map[i][j]); // } // } // printf("%d", f(map)); // return 0; //} //#include<stdio.h> //int n,i,j,k; //int max_height=0,max=0,a,arr[505][505]= {},map[505][505]= {}; //void f(int x,int y,int z) //{ // if(arr[x][y]<=z) // { // return; // } // if(x==-1||x==n||y==-1||y==n) // { // return; // } // arr[x][y]=z; // f(x+1,y,z); // f(x-1,y,z); // f(x,y+1,z); // f(x,y-1,z); //} //int main() //{ // scanf("%d",&n); // for(i=0; i<n; i++) // { // for(j=0; j<n; j++) // { // scanf("%d",&arr[i][j]); // map[i][j]=arr[i][j]; // if(max_height<arr[i][j]) // { // max_height=arr[i][j]; // } // } // } // for(k=0; k<=max_height; k++) // { // a=0; // for(i=0; i<n; i++) // { // for(j=0; j<n; j++) // { // if(arr[i][j]>k) // { // f(i,j,k); // a++; // } // arr[i][j]=map[i][j]; // } // } // if(max<a) // { // max=a; // } // } // printf("%d",max); // return 0; //} //#include <stdio.h> //#define IMPOSSIBLE -987654321 //#define max(x,y) ((x) > (y) ? (x) : (y)) //int dp[101][100001]; //int walk_min[101]; //int walk_get[101]; //int bicy_min[101]; //int bicy_get[101]; //int n, k; //int get(int segment, int minute_left) //{ // if (segment >= n) // { // return 0; // } // if (minute_left <= 0) // { // return IMPOSSIBLE; // } // int ret = dp[segment][minute_left]; // if (ret != -1) // { // return ret; // } // ret = IMPOSSIBLE; // if (minute_left >= walk_min[segment] && get(segment+1, minute_left - walk_min[segment]) != IMPOSSIBLE) // { // ret = max(ret, get(segment+1, minute_left - walk_min[segment]) + walk_get[segment]); // } // if (minute_left >= bicy_min[segment] && get(segment+1, minute_left - bicy_min[segment]) != IMPOSSIBLE) // { // ret = max(ret, get(segment+1, minute_left - bicy_min[segment]) + bicy_get[segment]); // } // return ret; //} // //int main() //{ // // scanf("%d %d", &n, &k); // for (int i=0; i < n; i++) // { // scanf("%d %d %d %d", &walk_min[i], &walk_get[i], &bicy_min[i], &bicy_get[i]); // } // memset(dp, -1, sizeof(dp)); // printf("%d", get(0,n)); // return 0; //} //#include <stdio.h> //int main() //{ // int i,j; // char string[5][15] = {}; // for (i = 0; i < 5; i++) // { // scanf("%s",string[i]); // } // for (i = 0; i < 15; i++) // { // for (j = 0; j < 5; j++) // { // if (string[j][i] != '\0') // { // printf("%c",string[j][i]); // } // } // } // // return 0; //} //#include<stdio.h> //int len = 0, r, i = 0; //long long int max = 0; //void f(long long int k) //{ // i++; // if(k == 1) // { // return; // } // if(k%3 == 0) // { // k /= 3; // } // else if(k%3 == 1) // { // k = k * 5 - 2; // } // else if(k%3 == 2) // { // k = k * 5 - 1; // } // if(max < k) // { // max = k; // r = i; // } // len++; // f(k); //} //int main() //{ // long long int n; // scanf("%lld",&n); // max = n; // f(n); // printf("%d\n",len+1); // printf("%d %lld",r+1, max); // return 0; //} main(n,m) { scanf("%d",&n); m=floor((sqrt(8*n+1)-1)/2); printf("%d",(int)pow(2, m)*(m+n-m*(m+1)/2-1)+1); } # n = int(input()) # a = list(map(int, input().split())) # b = [] # for i in range(0, n): # v = list(map(int, input().split())) # b.append(v) # d = 1000000000 # list = [] # for i in range(2**n): # r = [0, 0, 0, 0] # s = [] # c = 0 # for j in range(n): # if (i >> j) & 1 == 1: # s.append(j+1) # for k in range(4): # r[k] += b[j][k] # c += b[j][4] # g = 1 # for j in range(4): # if r[j] < a[j]: # g = 0 # if g: # if d > c: # d = c # list = s # if d == c and list > s: # list = s # if d > 100000000: # print(-1) # else: # print(d) # for i in range(len(list)): # print(list[i], end=' ') # # # n, k = map(int, input().split()) # n -= k * (k + 1) / 2 # if n < 0: # print(-1) # else: # if n % k == 0: # print(k - 1) # else: # print(k) # n, k = map(int, input().split()) # s = list(input()) # j, ans = 0, 0 # for i in range(n): # if s[i] == 'H': # continue # else: # for j in range(max(j, i-k), min(n, i+k+1)): # if s[j] == 'P': # continue # else: # ans += 1 # j += 1 # break # print(ans) # t = int(input()) # for i in range(t): # n = int(input()) # a = 0 # b = 0 # c = 0 # d = 0 # e = 0 # a += int(n / 60) # n %= 60 # if n > 35: # a += 1 # c = 6 - int((n + 5)/10) # n %= 10 # if n >= 5: # e += 10 - n # else: # d += n # else: # b = int((n + 4)/10) # n %= 10 # if n >= 6: # e += 10 - n # else: # d += n # print(a, b, c, d, e) # n = int(input()) # data = [] # ans = 0 # for i in range(n): # v = int(input()) # data.append(v) # for i in range(1, n): # if data[i] > data[n-1]: # ans += 1 # print(ans+1) def plus(): k = 0 for m in range(n): k += data[m] return k def plus2(): p = 0 for m in range(n-1): p += data[m] return p # data = [] # tmp = 0 # tmp2 = 0 # num = 0 # n = int(input()) # data = input().split() # for i in range(n): # data[i] = int(data[i]) # for i in range(n): # tmp2 = plus2() # if tmp2 == 0: # print(num+1) # break # if data[i] == 0: # continue # data[i+1] -= data[i] # data[i] = 0 # num += 1 # tmp = plus() # if tmp == 0: # print(num) # break # import sys # def go(idx, total): # if total < 0: # return -9876543210 # if idx == n: # return 0 # if dp[idx][total] != -1: # return dp[idx][total] # dp[idx][total] = max(go(idx + 1, total - arr[idx][0]) + arr[idx][1], go(idx + 1, total - arr[idx][2]) + arr[idx][3]) # return dp[idx][total] # # # n, k = map(int, sys.stdin.readline().split()) # dp = [[-1] * (k + 1) for _ in range(n)] # arr = [list(map(int, sys.stdin.readline().split())) for i in range(n)] # print(go(0, k)) data = [] max = 0 for i in range(5): v = list(input()) data.append(v) for i in range(5): if max < len(data[i]): max = len(data[i]) for ii for i in range(max): for j in range(5): print(data[j][i], end='')
0
0
1
alexhwdo
2024년 4월 14일
In 소스 코드 제출
# from collections import defaultdict # import sys # input = sys.stdin.readline # N = int(input()) # dict = defaultdict(int) # for i in range(N): # dict[int(input())] += 1 # list = sorted([(key, val) for key, val in dict.items()], key=lambda x: (-x[1], x[0])) # cnt = 0 # s_max = 0 # s_val = 0 # f_min = f_max = list[0][0] # f_val = list[0][1] # for num, fre in list: # if cnt == 1: # if s_val > fre: # break # s_max = max(s_max, abs(f_max - num)) # else: # if f_val > fre: # s_max = abs(f_max - num) # s_val = fre # cnt += 1 # continue # f_min = min(f_min, num) # f_max = max(f_max, num) # if f_min != f_max: # print(f_max - f_min) # else: # if s_val > -float('inf'): # print(s_max) # else: # print(0) # n = int(input()) # list = [list(map(int, input().split()))] # list = list[0] # # q = int(input()) # q_list = [int(input()) for i in range(q)] # start = 0 # end = n-1 # mid = 0 # for i in range(0, q): # start = 0 # end = n-1 # mid = (start + end) // 2 # while start <= end: # mid = (start + end) // 2 # if list[mid] == q_list[i]: # print(list.index(q_list[i]) + 1) # break # elif list[mid] < q_list[i]: # start = mid + 1 # else: # end = mid - 1 # if start > end: # print("-1") # from math import sqrt # n = int(input()) # data = [] # li = [] # for i in range(n): # v = list(map(int, input().split())) # data.append(v) # data.sort(key=lambda x: x[0]) # print(data) # for i in range((n-1)//2): # li.append(sqrt((data[i][0] - data[i+1][0]) (data[i][0] - data[i+1][0]) + (data[i][1] - data[i+1][1]) (data[i][1] - data[i+1][1]))) # for i in range((n-1)//2): # li.append(sqrt((data[i][0] - data[i+1][0]) (data[i][0] - data[i+1][0]) + (data[i][1] - data[i+1][1]) (data[i][1] - data[i+1][1]))) # # li.sort() # # li[:] = (value for value in li if value != 0.0) # # print(round(li[0], 1)) # import math # import copy # # # class Point(): # def init(self, x, y): # self.x = x # self.y = y # # # def value(p1, p2): # return math.sqrt((p1.x - p2.x) (p1.x - p2.x) + (p1.y - p2.y) (p1.y - p2.y)) # # # def Force(P, n): # min_val = float('inf') # for i in range(n): # for j in range(i + 1, n): # if value(P[i], P[j]) < min_val: # min_val = value(P[i], P[j]) # # return min_val # # # def stripClosest(strip, size, d): # min_val = d # # for i in range(size): # j = i + 1 # while j < size and (strip[j].y - strip[i].y) < min_val: # min_val = value(strip[i], strip[j]) # j += 1 # # return min_val # # # def closestUtil(P, Q, n): # if n <= 3: # return Force(P, n) # mid = n // 2 # midPoint = P[mid] # Pl = P[:mid] # Pr = P[mid:] # dl = closestUtil(Pl, Q, mid) # dr = closestUtil(Pr, Q, n - mid) # # d = min(dl, dr) # # stripP = [] # stripQ = [] # lr = Pl + Pr # for i in range(n): # if abs(lr[i].x - midPoint.x) < d: # stripP.append(lr[i]) # if abs(Q[i].x - midPoint.x) < d: # stripQ.append(Q[i]) # stripP.sort(key=lambda point: point.y) # min_a = min(d, stripClosest(stripP, len(stripP), d)) # min_b = min(d, stripClosest(stripQ, len(stripQ), d)) # return min(min_a, min_b) # # # def closest(P, n): # P.sort(key=lambda point: point.x) # Q = copy.deepcopy(P) # Q.sort(key=lambda point: point.y) # # return closestUtil(P, Q, n) # # # data = [] # P = [] # n = int(input()) # for i in range(n): # v = list(map(int, input().split())) # data.append(v) # # for i in range(n): # P.append(Point(data[i][0], data[i][1])) # print(round(closest(P, n), 1)) from math import factorial x = int(input()) num = 0 for i in range(x+1): for j in range(i+1): num += (((factorial(i)//factorial(i-j))//factorial(j)) * ((factorial(i)//factorial(i-j))//factorial(j))) % 99824353 print(i, j, num) print(num % 99824353) //#include<stdio.h> //#include<string.h> //int main() //{ // int arr[100000] = {},i; // while (scanf("%d", &arr[i]) != EOF) // for(i=0;i<strlen(arr);i++) // { // printf("%d",arr[i]); // } //} //#include <stdio.h> //int n; //int d[1002] = {}; //long long int abs(long long int a) //{ // return a<0?-a:a; //} //int main() //{ // scanf("%d",&n); // int i,max_m=0,max_location,x=0,xl; // for(i=0; i<n; i++) // { // int a; // scanf("%d",&a); // d[a]++; // } // for(i=0; i<n; i++) // { // if(max_m<=d[i]) // { // max_m=d[i]; // max_location=i; // xl=max_m; // } // else if(x<=d[i]&&d[i]!=0) // { // x=d[i]; // xl=i; // } // } // int b; // b=max_location-xl; // printf("%d", abs(b)); // return 0; //} //#include<stdio.h> //int main() //{ // int arr[10] = {}, i,j; // long long int sum =0; // for(i=0;i<5;i++) // { // scanf("%d",&arr[i]); // } // for(i=0;i<5;i++) // { // for(j=1;j*j < arr[i];j++) // { // if(arr[i] % j == 0) // { // sum += j; // sum += arr[i] / j; // } // } // sum -= arr[i]; // if(sum == arr[i]) // { // puts("yes"); // } // else // { // puts("no"); // } // sum = 0; // } //} //#include<stdio.h> //int main() //{ // int n,m,i,j, k, arr[1000005] = {}, cnt = 0; // scanf("%d", &n); // for(i=0;i<n;i++) // { // scanf("%d",&arr[i]); // } // scanf("%d", &m); // for(i=0;i<m;i++) // { // scanf("%d",&k); // for(j=0;j<n;j++) // { // if(arr[j] == k) // { // printf("%d\n", j+1); // cnt = 1; // } // } // if(cnt == 0) // { // printf("-1\n"); // } // cnt = 0; // } // return 0; //} //#include<stdio.h> //int n,i = 0,j,cnt = 0, data[50] = {}; //int max = 0; //int f(n) //{ // if(n == 1) // { // data[i] += cnt; // i++; // return cnt; // } // if(n % 2 == 0) // { // cnt++; // f(n/2); // } // if(n % 5 == 0) // { // cnt++; // f(n/5); // } // else // { // n--; // cnt++; // f(n); // } //} //int main() //{ // scanf("%d",&n); // f(n); // printf("%d", cnt); //} //#include<stdio.h> //int memo[1000000000] = {}; //unsigned long long int f(int n) //{ // if(n == 2) // { // return 2; // } // if(n == 3) // { // return 2; // } // if(memo[n] != 0) // { // return memo[n]; // } // memo[n] = f(n-1) + f(n-2); // return memo[n]; //} //int main() //{ // int n; // scanf("%d",&n); // printf("%llu",f(n)); // return 0; //} //#include <stdio.h> //#include<stdlib.h> //unsigned long long int memo[105] = {}; //unsigned long long int fib(int n) //{ // if (n <= 1) // { // return n; // } // if(memo[n]) // { // return memo[n]; // } // return memo[n] = fib(n - 1) + fib(n - 2); //} //int main() //{ // int n; // scanf("%d", &n); // printf("%llu", fib(n+1)); // // return 0; //}
0
0
5
alexhwdo
2024년 4월 07일
In 소스 코드 제출
//#include<stdio.h> //#include<string.h> //#include<stdlib.h> //int main() //{ // int n, data[100005] = {}, i, m, sum, j; // int arr[7] = {}; // scanf("%d", &n); // for(i=0;i<n;i++) // { // scanf("%d", &data[i]); // } // scanf("%d",&m); // for(i=0;i<m;i++) // { // gets(arr); // char *brr = strtok(arr, " "); // brr = atoi(brr); // int prefix[100005] = {}; // for(j=0;j<n;j++) // { // prefix[j + 1] = prefix[j] + data[j]; // } // sum = prefix[arr[2]] - prefix[arr[1] - 1]; // if(arr[0] == 0) // { // printf("%d\n", sum); // } // else if(arr[0] == 1) // { // for(j=arr[1] - 1; j< arr[2];j++) // { // data[j] += arr[3]; // } // } // else // { // for(j = arr[1] - 1; j < arr[2];j++) // { // data[j] -= arr[3]; // } // } // } //} // // //#include<stdio.h> //int main() //{ // int f, o, r, t, y, e, n, s, i, x; // for(f = 0; f <=9; f++) // { // for(o = 0; o <= 9; o++) // { // for(r = 0; r <= 9;r++) // { // for(t = 0; t <= 9;t++) // { // for(y = 0;y<=9;y++) // { // for(e= 0;e<=9;e++) // { // for(n=0;n<=9;n++) // { // for(s=0;s<=9;s++) // { // for(i=0;i<=9;i++) // { // for(x=0;x<=9;x++) // { // if(10000 f + 1000 o + 100 r + 10t + y + 2*(100*t + 10 e + n) == 10000 s + 1000 i + 100 x + 10 * t + y) // { // if() // { // printf("%d%d%d%d%d+%d%d%d+%d%d%d=%d%d%d%d%d",f,o,r,t,y,t,e,n,t,e,n,s,i,x,t,y); // return 0; // } // } // } // } // } // } // } // } // } // } // } // } //} #include<stdio.h> #include<math.h> int main() { int a, b, i, j; int cnt = 0; int arr[400000] = {}; scanf("%d %d", &a, &b); for(i = a; i <= sqrt(b); i++) { if(arr[i] == 0) { for(j = 2; i * j <= b; j++) { arr[i * j] = 1; } } } for(i=a ; i <= b-2; i++) { if(arr[i] == 1 || arr[i+2] == 1) { cnt++; } if(cnt == 0) { printf("%d %d\n", i, i+2); } else { cnt = 0; } } } # n = int(input()) # data = list(map(int, input().split())) # m = int(input()) # sum = 0 # for i in range(m): # arr = list(map(int, input().split())) # prefix_sum = [0] * (n + 1) # for j in range(n): # prefix_sum[j + 1] = prefix_sum[j] + data[j] # sum = prefix_sum[arr[2]] - prefix_sum[arr[1] - 1] # if arr[0] == 0: # print(sum) # sum = 0 # elif arr[0] == 1: # for j in range(arr[1] - 1, arr[2]): # data[j] += arr[3] # else: # for j in range(arr[1] - 1, arr[2]): # data[j] -= arr[3] # # a, b, c = map(int, input().split()) # def gcd(a, b): # if b == 0: # return a # else: # return gcd(b, a % b) # # def Execute(a, b): # ret = [0] * 2 # if b == 0: # ret[0] = 1 # ret[1] = 0 # return ret # q = a // b # v = Execute(b, a % b) # ret[0] = v[1] # ret[1] = v[0] - v[1] * q # return ret # # mgcd = gcd(a, b) # # if a == 0 and b == 0 and c == 0: # print(0, 0) # elif a == 0 and b == 0: # print("Not Exist") # elif c % mgcd != 0: # print("Not Exist") # # else: # mok = int(c / mgcd) # ret = Execute(a, b) # print(ret[0] mok, ret[1] mok) # data = input().split() # max = -1 # min = 55 # for i in range(10): # data[i] = list(data[i]) # for i in range(10): # for j in range(len(data[i])): # data[i][j] = int(data[i][j]) # for i in range(10): # if max < sum(data[i]): # max = sum(data[i]) # if min > sum(data[i]): # min = sum(data[i]) # print(max, min)
0
0
1
alexhwdo
2024년 3월 24일
In 소스 코드 제출
//#include<stdio.h> //#include<math.h> //int main() //{ // int n,i,j; // double a, b,max = 0.0; // scanf("%d",&n); // for(i=0;i<n;i++) // { // scanf("%lf %lf",&a,&b); // if(b * log(a)>max) // { // max = b*log(a); // j = i; // } // } // printf("%d", j+1); //} //#include <stdio.h> //int main() //{ // int n, m, a, b, i; // int arr[101]= {}, cnt = 0; // scanf("%d %d", &n, &m); // for(i = 0; i < m; i++) // { // scanf("%d %d", &a, &b); // arr[a]++; // arr[b]++; // } // for(i = 1; i <= n; i++) // { // if (arr[i] == 0) // { // puts("NO"); // return 0; // } // else if (arr[i] % 2 == 1) // { // cnt++; // } // } // if (cnt == 0 || cnt == 2) // { // puts("YES"); // } // else // { // puts("NO"); // } // return 0; //} //#include<stdio.h> //#define max(x,y) (x) > (y) ? (x): (y) //int main() //{ // int i,n, arr[100005] = {}, sum[100005] = {}, ans = 0; // scanf("%d",&n); // for(i=1;i<=n;i++) // { // scanf("%d", &arr[i]); // sum[i] = sum[i-1] + arr[i]; // } // for(i=2;i<n;i++) // { // ans = max(ans, sum[n-1]-arr[1]+arr[i]); // ans = max(ans, (sum[n] - arr[1] - arr[i]) + (sum[n] - sum[i])); // ans = max(ans, (sum[n-1]- arr[i])+sum[i-1]); // } // printf("%d",ans); //} #include<stdio.h> int main() { int n, arr[100000001] = {}, m, brr[100001] = {},i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&arr[i]); } scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d",&brr[i]); } } # n = int(input()) # a = 0 # m = 1 # n -= 1 # while n > 0: # m += 1 # n -= m # if n % m == 0: # a += 1 # print(a) # n = int(input()) # print(n*(n-1)*(n-2)*(n-3)) # from math import log # n = int(input()) # max = 0 # loc = 0 # v = 0 # for i in range(n): # a, b = map(int, input().split()) # v += 1 # if max < b*log(a): # max = log(a**b) # loc = v # print(loc) # import operator # a, b = map(int, input().split()) # print(operator.add(a, b)) # n = int(input()) # data = list(map(int, input().split())) # v = [] # none = 0 # one = 0 # two = 0 # k = 0 # for i in range(n): # v.append(1) # for i in range(n): # if data[i] == n: # k = 1 # if v[data[i] - 2] == 0: # none += 1 # elif v[data[i] - 2] == 1: # one += 1 # v[data[i] - 1] = 0 # if data[i] == 1: # k = 1 # if v[1] == 0: # none += 1 # elif v[1] == 1: # one += 1 # v[0] = 0 # if k == 0: # if v[data[i]-2] == 0 and v[data[i]] == 0: # none += 1 # elif (v[data[i]-2] == 0 and v[data[i]] == 1) or (v[data[i]-2] == 1 and v[data[i]] == 0): # one += 1 # else: # two += 1 # v[data[i] - 1] = 0 # k = 0 # print(one, two) # n = int(input()) # data = [] # for i in range(n): # data.append(i+1) # for j in range(n): # for i in range(1, len(data)+1): # if len(data) == 1: # break # if i % 2 == 1: # data[i-1] = -1 # data[:] = (value for value in data if value != -1) # print(data[0]) # n = int(input()) # data = list(map(int, input().split())) # sum = [] # for i in range(1, n): # sum # a = list(map(int, input().split())) # b = list(map(int, input().split())) # A = 0 # B = 0 # k = 0 # for i in range(10): # if a[i] > b[i]: # A += 3 # elif a[i] < b[i]: # B += 3 # else: # A += 1 # B += 1 # print(A, B) # if A > B: # print("A") # elif A < B: # print("B") # elif A == B: # for i in range(9, 0, -1): # if k == 0: # if a[i] > b[i]: # print("A") # k = 1 # elif a[i] < b[i]: # print("B") # k = 1 # if k == 0: # print("D") # n, m = map(int, input().split()) # data = list(map(int, input().split())) # sum = [] # for i in range(n): # sum.append(0) # for i in range(n): # sum[i] = sum[i-1] + data[i] # for i in range(m): # a, b = map(int, input().split()) # if a == 1: # print(sum[b-a]) # else: # print(sum[b-1]-sum[a-2])
0
0
2
alexhwdo
2024년 3월 17일
In 소스 코드 제출
//#include<stdio.h> //int main() //{ // int t, k[3000001] = {}, i; // unsigned long long int arr[3000001] = {}; // scanf("%d", &t); // for(i=0;i<t;i++) // { // scanf("%llu",&arr[i]); // } // for(i=0;i<t;i++) // { // if((arr[i]&(arr[i]-1))==0) // { // if(arr[i] != 0) // { // k[i]++; // } // } // } // for(i=0;i<t;i++) // { // printf("%d ",k[i]); // } //} //#include <stdio.h> //int main() //{ // char number[9][4] = { "일", "이", "삼", "사", "오", "육", "칠", "팔", "구" }; // char string[10][4] = { "", "십", "백", "천", "만", "십", "백", "천", "억", "십" }; // char arr[11]; // int cnt = 0; // int tmp = 0; // int i; // scanf("%s", arr); // for (i = 0; i < strlen(arr); i++) // { // if (arr[i] == '0') // { // if (strlen(arr) - i - 1 == 8) // { // if (cnt != 0) // { // printf("억"); // } // cnt = 0; // } // else if(strlen(arr) - i - 1 == 4) // { // if (cnt != 0) // { // printf("만"); // } // cnt = 0; // } // else if(strlen(arr) == 1) // { // printf("영"); // } // continue; // } // tmp = (int)arr[i] - 48; // cnt = (cnt * 10) + tmp; // if (i == strlen(arr) - 1) // { // printf("%s", number[tmp - 1]); // } // else // { // printf("%s%s", number[tmp - 1], string[strlen(arr) - i - 1]); // if (strlen(arr) - i - 1 == 8) // { // cnt = 0; // } // else if (strlen(arr) - i - 1 == 4) // { // cnt = 0; // } // } // } //} //#include <stdio.h> //#include <math.h> //int main() //{ // int n, data[100000][2] = {}, i, j; // double min_dist = TMP_MAX; // scanf("%d", &n); // for (i = 0; i < n; i++) // { // scanf("%d %d", &data[i][0], &data[i][1]); // } // for (i = 0; i < n; i++) // { // for (j = i + 1; j < n; j++) // { // double dist = sqrt(pow(data[i][0] - data[j][0], 2) + pow(data[i][1] - data[j][1], 2)); // if (dist < min_dist) // { // min_dist = dist; // } // } // } // printf("%.1f", min_dist); // return 0; //} //#include<stdio.h> //#include<string.h> //#define max(x,y) (x) > (y) ? (x) : (y) //int dp[101][100001] = {}; //int travel[101][3] = {}; //int main() //{ // int k,N,K,i; // scanf("%d %d",&N,&K); // for(i=0;i<N;i++) // { // scanf("%d %d %d %d",&travel[i][0],&travel[i][1],&travel[i][2],&travel[i][3]); // } // int ans = 0; // dp[0][travel[0][0]] = travel[0][1]; // dp[0][travel[0][2]] = travel[0][3]; // for (i = 1; i < N*3; ++i) // { // for (k = 0; k < K; ++k) // { // if (dp[i-1][k] == 0) // { // continue; // } // if (travel[i][0] + k <= K) // { // dp[i][travel[i][0]+k] = max(dp[i][travel[i][0]+k], dp[i-1][k] + travel[i][1]); // ans = max(ans, dp[i][travel[i][0]+k]); // } // if (travel[i][2] + k <= K) // { // dp[i][travel[i][2]+k] = max(dp[i][travel[i][2]+k], dp[i-1][k] + travel[i][3]); // ans = max(ans, dp[i][travel[i][2]+k]); // } // printf("%d\n",ans); // } // } // printf("%d",ans); //} //#include <stdio.h> //int f(int num) //{ // int cnt = 0; // int tmp = 0; // if (num == 1) // { // return 1; // } // for (int i = 1; i <= num / 2; i++) // { // if (num % i == 0) // { // if (i > (num / i)) // { // break; // } // if ((num / i) == i) // { // cnt++; // } // else cnt += 2; // } // } // return cnt; //} //int main() //{ // int num; // int tmp = 1; // int i = 2; // scanf("%d", &num); // while (f(tmp) <= num) // { // tmp += i; // i++; // } // printf("%d", tmp); // return 0; //} #include<stdio.h> #include<math.h> int main() { int a,b,i; scanf("%d %d",&a,&b); if(((a*a)-(4*b)) <=0) { printf("-1"); return 0; } else if(((a*a)-(4*b)) ==0) { printf("x+%d",a+sqrt(((a*a)-(4*b)))); } else { printf("x+%d\nx+%d",(a-sqrt(((a*a)-(4*b))))/2,(a+sqrt(((a*a)-(4*b))))/2); } }
0
0
2
alexhwdo
2024년 3월 09일
In 소스 코드 제출
//#include <stdio.h> //int n, arr[1001][3] = {},memo[1001][3] = {0}; //int min(int a, int b) //{ // return a>b? b : a; //} //int re(int k, int cnt) //{ // // int a, b; // if(k==0) // { // a = 1, b = 2; // } // if(k==1) // { // a = 0, b = 2; // } // if(k==2) // { // a = 0, b = 1; // } // if(cnt==n-1) // { // return arr[cnt][k]; // } // // if(memo[cnt][k]!=0) // { // return memo[cnt][k]; // } // else // { // return memo[cnt][k] = min(arr[cnt][k] + re(a, cnt+1), arr[cnt][k] + re(b, cnt+1)); // } // //} // // //int main() //{ // int i, j; // scanf("%d", &n); // for(i=0; i<n; i++) // { // for(j=0; j<3; j++) // { // scanf("%d", &arr[i][j]); // } // } // printf("%d", min(min(re(0, 0), re(1, 0)), re(2, 0))); // return 0; //} //r,b=1;main(a){for(scanf("%d",&a);a>b*4;a-=b*=2)r+=2;for(r+=a/b;a%=b;a/=2)r+=a%2;printf("%d",r);} //#include<stdio.h> //int main() //{ // int n,i,j; // int arr[105][3] = {},c[6] = {}; // scanf("%d",&n); // // for(i=0;i<n;i++) // { // for(j=0;j<3;j++) // { // scanf("%d ",&arr[i][j]); // } // } //// for(i=0;i<5;i++) //// { //// scanf("%d",&c[i]); //// } //// for(i=0;i<n;i++) //// { //// for(j=0;j<3;j++) //// { //// printf("%d ",arr[i][j]); //// } //// puts(""); //// } //} //#include <iostream> //#include <vector> //#include <map> //#include <algorithm> //using namespace std; // // //int N; // //struct Data{ // int number; // string name; //}; // //bool cmp(const Data &v1, const Data &v2){ // return v1.number<v2.number; //} // //map<int,int>check; // //int main(){ // cin>>N; // vector<Data>v; // for(int i=0; i<N; i++){ // char cmd; int number; string name; // cin>>cmd>>number>>name; // if(cmd=='I'){ // if(check[number]==0){ // check[number]=1; // v.push_back({number,name}); // } // } // else if(cmd=='D'){ // if(check[number]==1){ // check[number]=0; // for(int i=0; i<v.size(); i++){ // if(v[i].number==number) v.erase(v.begin()+i); // } // } // } // } // sort(v.begin(),v.end(),cmp); // // // for(int i=0; i<5; i++){ // int find; cin>>find; // cout<<v[find-1].number<<' '<<v[find-1].name<<'\n'; // // } // // //} //#include<stdio.h> //#include<string.h> //int main() //{ // int arr[8] = {},k = 0; // int a,b,c,d,e,f,g,min=101; // // for(int i=0; i<7; i++) // { // scanf("%d",&a); // if(a%2==1) // { // k+=a; // if(min>a) // { // min = a; // } // } // } // if(k !=0) // { // printf("%d\n",k); // printf("%d",min); // } // else // { // printf("-1"); // } //} //#include<stdio.h> //#include<string.h> //int main() //{ // int arr[8] = {},k = 0; // int a,max=-1; // for(int i=0; i<9; i++) // { // scanf("%d",&a); // if(max<a) // { // max = a; // k = i+1; // } // } // printf("%d\n",max); // printf("%d",k); //} //#include<stdio.h> //#include<math.h> //int main() //{ // int m,n,i; // int min = 10005,sum = 0; // scanf("%d",&m); // scanf("%d",&n); // for(i=(int)sqrt(m);i<=(int)sqrt(n);i++) // { // if(i*i>=m &&i*i<=n) // { // if(min > i*i) // { // min = i*i; // } // sum +=i*i; // } // } // printf("%d\n",sum); // printf("%d",min); //} //#include<stdio.h> //int main() //{ // int a[3][4] = {},k = 0,i,j; // for(i=0;i<3;i++) // { // for(j=0;j<4;j++) // { // scanf("%d",&a[i][j]); // } // } // for(i=0;i<3;i++) // { // for(j=0;j<4;j++) // { // k += a[i][j]; // } // if(k == 0) // { // puts("D"); // } // if(k == 1) // { // puts("C"); // } // if(k == 2) // { // puts("B"); // } // if(k == 3) // { // puts("A"); // } // if(k == 4) // { // puts("E"); // } // k = 0; // } //} //#include<stdio.h> //int main() //{ // int i, arr[5] = {},s = 0; // for(i=0;i<5;i++) // { // scanf("%d",&arr[i]); // } // for(i=0;i<5;i++) // { // s += arr[i] * arr[i]; // } // printf("%d", s % 10); //} //#include<stdio.h> //int main() //{ // int max = 0,i,j,arr[9][9] = {},i_i,j_j; // for(i=0;i<9;i++) // { // for(j=0;j<9;j++) // { // scanf("%d",&arr[i][j]); // } // } // for(i=0;i<9;i++) // { // for(j=0;j<9;j++) // { // if(max < arr[i][j]) // { // max = arr[i][j]; // i_i = i; // j_j = j; // } // } // } // printf("%d\n",max); // printf("%d %d", i_i+1,j_j+1); //} //#include<stdio.h> //int x,y; //int gcd(int a, int b) //{ // return b ? gcd(b, a%b) : a; //} //int lcm(int a, int b) //{ // return (int)x * y/gcd(x,y); //} //int main() //{ // scanf("%d %d", &x, &y); // printf("%d\n%d", gcd(x,y), lcm(x,y)); //} //#include<stdio.h> //int main() //{ // int n,i,b; // scanf("%d",&n); // int binary[20] = {}; // int position = 0; // b =n; // while (1) // { // binary[position] = n % 2; // n/=2; // position++; // if (n == 0) // { // break; // } // } // printf("2 "); // for (i = position - 1; i >= 0; i--) // { // printf("%d", binary[i]); // } // puts(""); // n = b; // printf("8 %o\n",n); // printf("16 %X",n); //} # from itertools import combinations_with_replacement # n, m = map(int, input().split()) # k = 0 # b = n # data_3 = [] # num = 1 # if n >= 0: # data = [0] * n # for i in range(2, n): # for j in range(n//i): # if n % i == 0: # n /= i # n = int(n) # data[i] += 1 # if n == 1: # break # n = b # for i in range(n): # k += data[i] # data_2 = [1] * k # # print(data_2) # for i in range(n): # for cwr in combinations_with_replacement(data_2, data[i]): # data_3.append(len(cwr)) # # print(data_3) # num = sum(data_3) # print((num*2)%1000000007) # # # else: # n = -n # data = [0] * n # for i in range(2, n): # for j in range(n//i): # if n % i == 0: # n /= i # n = int(n) # data[i] += 1 # if n == 1: # break # n = -b # k = sum(data) # data_2 = [1] * k # print(data_2) # for i in range(n): # for cwr in combinations_with_replacement(data_2, data[i]): # data_3.append(len(cwr)) # # print(data_3) # num = sum(data_3) # print((num * 2)%1000000007) # # # -201160001 32915 # # 130544594 # n = int(input()) # data = list(map(int, input().split())) # data.sort() # print(data[len(data)-1]-data[0])
0
0
2
alexhwdo
2024년 2월 21일
In 소스 코드 제출
//#include<stdio.h> //int main() //{ // int m,n; // int sum = 0, k , r, s = 0; // int i; // scanf("%d %d",&n,&m); // k = n; // r = n; // while(r>0) // { // r--; // for(i=1;i<=n;i++) // { // if(n%i == 0) // { // n /= i; // printf("%d %d\n",i, n); // s++; // sum++; // } // } // printf("%d\n", sum); // if(s !=m) // { // sum--; // } // printf("%d\n", sum); // n = k; // s = 0; // } // printf("%d", 2* sum); // return 0; //} //#include<stdio.h> //int main() //{ // int x, y, i, j, l,m,arr[35][35] = {}, sum = 0,t, f, k = 0; // scanf("%d %d",&x, &y); // for(i=0;i<y;i++) // { // for(j=0;j<x;j++) // { // scanf("%1d", &arr[i][j]); // } // } // for(i=0;i<y;i++) // { // for(j=0;j<x;j++) // { // k = 0; // if(arr[i][j] == 1) // { // if(arr[i][j+1] == 1) // { // while(arr[i][j+k] == 1) // { // if(arr[i+1][j+k] == 1) // { // arr[i][j+k] = 1; // } // else // { // arr[i][j+k] = 0; // } // k++; // } // sum++; // } // else if(arr[i+1][j] == 1) // { // while(arr[i+k][j] == 1) // { // if(arr[i+k][j+1] == 1) // { // arr[i+k][j] = 1; // } // else // { // arr[i+k][j] = 0; // } // k++; // } // sum++; // } // } // } //// for(l=0;l<y;l++) //// { //// for(m=0;m<x;m++) //// { //// printf("%1d",arr[l][m]); //// } //// puts(""); //// } //// puts(""); // } // printf("%d", sum); //} #include<stdio.h> int x, y, i, j, l, p,arr[35][35] = {},sum = 0,k = -1, max = -1; int f(i,j) { if(arr[i][j] == 1) { return 0; } if(arr[i][j] == 2) { return -1; } sum++; arr[i][j] = 1; f(i-1, j); f(i+1, j); f(i, j-1); f(i, j+1); } int main() { scanf("%d %d",&x, &y); for(i=1; i<=y; i++) { for(j=1; j<=x; j++) { scanf("%1d", &arr[i][j]); } } for(i=1; i<=y; i++) { for(j=1; j<=x; j++) { l = f(i, j); if(l != -1) { if(sum > max) { max = sum; } } sum = 0; } } printf("%d",max); }
0
0
1
alexhwdo
2024년 2월 14일
In 소스 코드 제출
//#include<stdio.h> //int main() //{ // int m,n; // int sum = 0, k , r, s = 0; // int i; // scanf("%d %d",&n,&m); // k = n; // r = n; // while(r>0) // { // r--; // for(i=1;i<=n;i++) // { // if(n%i == 0) // { // n /= i; // printf("%d %d\n",i, n); // s++; // sum++; // } // } // printf("%d\n", sum); // if(s !=m) // { // sum--; // } // printf("%d\n", sum); // n = k; // s = 0; // } // printf("%d", 2* sum); // return 0; //} //#include<stdio.h> //int main() //{ // int x, y, i, j, l,m,arr[35][35] = {}, sum = 0,t, f, k = 0; // scanf("%d %d",&x, &y); // for(i=0;i<y;i++) // { // for(j=0;j<x;j++) // { // scanf("%1d", &arr[i][j]); // } // } // for(i=0;i<y;i++) // { // for(j=0;j<x;j++) // { // k = 0; // if(arr[i][j] == 1) // { // if(arr[i][j+1] == 1) // { // while(arr[i][j+k] == 1) // { // if(arr[i+1][j+k] == 1) // { // arr[i][j+k] = 1; // } // else // { // arr[i][j+k] = 0; // } // k++; // } // sum++; // } // else if(arr[i+1][j] == 1) // { // while(arr[i+k][j] == 1) // { // if(arr[i+k][j+1] == 1) // { // arr[i+k][j] = 1; // } // else // { // arr[i+k][j] = 0; // } // k++; // } // sum++; // } // } // } //// for(l=0;l<y;l++) //// { //// for(m=0;m<x;m++) //// { //// printf("%1d",arr[l][m]); //// } //// puts(""); //// } //// puts(""); // } // printf("%d", sum); //} #include<stdio.h> int main() { int x, y, i, j,arr[35][35] = {}, sum = 0,k = 0, max = -1, w = 0, h = 0; scanf("%d %d",&x, &y); for(i=0;i<y;i++) { for(j=0;j<x;j++) { scanf("%1d", &arr[i][j]); } } for(i=0;i<y;i++) { for(j=0;j<x;j++) { if(arr[i][j] == 0) { if(arr[i][j-1] != 2) { while(arr[i][j+k] == 0 && j + k < x) { if(arr[i][j+k] == 2) { w = 0; h = 0; continue; } w++; k++; } k = 0; while(arr[i+k][j] == 0 && i + k < y) { if(arr[i+k][j] == 2) { w = 0; h = 0; continue; } h++; k++; } k = 0; sum = w* h; if(max<sum) { max = sum; // printf("w, h : %d %d\n", w, h); } w = 0; h = 0; sum = 0; } } } } printf("%d",max); }
0
0
2
alexhwdo
2024년 1월 31일
In 소스 코드 제출
//#include<stdio.h> //int dp[100][100] = {}; //int sum[100][100] = {}; //int main() //{ // int n, m, i, j, k; // scanf("%d %d",&n, &m); // dp[1][1] = 1; // sum[1][1] = 1; // for(i=1;i<=n;i++) // { // dp[i][i] = 1; // sum[i][i] = 1; // for(j=1;j<=i;j++) // { // dp[i][j] += sum[i-j][j]; // sum[i][j] = sum[i][j-1] + dp[i][j]; // for(k=i+1;k<=m;k++) // { // sum[i][k] = sum[i][i]; // } // } // } // printf("%d", sum[n][m]); //} //#include<stdio.h> //int dp[2000][2000] = {}; //int sum[2000][2000] = {}; //int main() //{ // int n, m, i, j, k; // scanf("%d %d",&n, &m); // dp[1][1] = 1; // sum[1][1] = 1; // for(i=1;i<=n;i++) // { // dp[i][i] = 1; // sum[i][i] = 1; // for(j=1;j<=i;j++) // { // dp[i][j] += sum[i-j][j]; // sum[i][j] = (sum[i][j-1] + dp[i][j])%123456789; // for(k=i+1;k<=m;k++) // { // sum[i][k] = sum[i][i]; // } // } // } // printf("%d", sum[n][m]); //} //#include<stdio.h> //int dp[5005][5005] = {}; //int sum[5005][5005] = {}; //int main() //{ // int n, m, i, j, k; // scanf("%d %d",&n, &m); // dp[1][1] = 1; // sum[1][1] = 1; // for(i=1;i<=n;i++) // { // dp[i][i] = 1; // sum[i][i] = 1; // for(j=1;j<=i;j++) // { // dp[i][j] += sum[i-j][j]; // sum[i][j] = (sum[i][j-1] + dp[i][j])%123456789; // } // for(k=i+1;k<=m;k++) // { // sum[i][k] = sum[i][i]; // } // } // printf("%d", sum[n][m]); //} #include<stdio.h> #define max(a,b) (((a) > (b)) ? (a) : (b)) int main() { int n, sum, max_sum, arr[300000] = {}, i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d", &arr[i]); } if sum }
0
0
2
alexhwdo
2024년 1월 17일
In 소스 코드 제출
//#include<stdio.h> //int n, arr[505][505] = {},pandas[505][505] = {}; //int panda(a, b) //{ // if(a == 0||a == n||b == 0|| b == n) // { // return; // } // else // { // pandas[a][b]++; // panda(a-1, b); // panda(a+1, b); // panda(a, b-1); // panda(a, b+1); // } //} //int main() //{ // int i, j; // scanf("%d", &n); // for(i=0;i<n;i++) // { // for(j=0;j<n;j++) // { // scanf("%d",&arr[i][j]); // } // } // for(i=0;i<n;i++) // { // for(j=0;j<n;j++) // { // print("%d", panda(i,j)); // } // } // return 0; //} //#include<stdio.h> //#define min(a,b) (((a) < (b)) ? (a): (b)) //int dp[100001] = {}; //int main() //{ // int n, i, j; // scanf("%d", &n); // for (i = 0; i <= n; i++) // { // dp[i] = i; // } // for (i = 1; i <= n; i++) // { // for (j = 1; j * j <= i; j++) // { // dp[i] = min(dp[i], dp[i - j * j] + 1); // } // } // printf("%d", dp[n]); // return 0; //} //#include<stdio.h> //int cnt = 0, l; //void func(int k,int c) //{ // if(c < l * 2) // { // if(k+1<= l) // { // func(i+1, c+1); // } // if(k >= 1) // { // func(i-1, c+1); // } // } // else if(k == 0) // { // cnt++; // } //} //int main() //{ // int t, i; // scanf("%d", &t); // for(i=0;i<t;i++) // { // scanf("%d", &l); // if(l % 2 == 1) // { // printf("0"); // continue; // } // else // { // l /= 2; // func(1,1); // printf("%d", cnt); // } // } // return 0; //} //#include<stdio.h> //int main() //{ // int a,b; // scanf("%d %d",&a,&b); // printf("%d",a<<b); // return 0; //} a,r,b=1;main(){for(scanf("%d",&a);a>b*4;a-=b*=2,r+=2);r+=a/b;for(;a%=b;a>>=1)r+=a&1;printf("%d",r);} # r, c, w = map(int, input().split()) # pascal = [[0 for j in range(31)] for i in range(31)] # result = 0 # cnt = 1 # for i in range(31): # for j in range(i+1): # if i == 0 or j == 0 or j == i: # pascal[i][j] = 1 # else: # pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j] # for i in range(r-1, r+w-1): # for j in range(c-1, c+cnt-1): # result += pascal[i][j] # cnt += 1 # print(result) # n, m = map(int, input().split()) # k = int(input()) # dp = [] # for i in range(k): # a, b, c, d = map(int, input().split()) # dp.append([a, b, c, d]) # print(dp) # from math import sqrt # n = int(input()) # i = int(sqrt(n)) # ans = 0 # while n > 0: # while n > i * i: # if n > i * i: # n -= i * i # ans += 1 # i -= 1 # print(ans) # def func(i, c): # if c < l: # if i + 1 <= n: # func(i+1, c+1) # if i >= 1: # func(i-1, c+1) # elif i == 0: # cnt += 1 # # # t = int(input()) # dp = [] # cnt = 0 # for i in range(t): # l = int(input()) # if l % 2 == 1: # print(0) # continue # else: # n = int(l//2) # func(1, 1) # dp = [0 for i in range(5001)] # dp[0] = 1 # # for i in range(2, 5001, 2): # for j in range(2, i + 1, 2): # dp[i] += dp[j - 2] * dp[i - j] # dp[i] %= 1000000007 # # t = int(input()) # for i in range(t): # l = int(input()) # print(dp[l])
0
0
3
alexhwdo
2024년 1월 10일
In 소스 코드 제출
#점화식 # n = int(input()) # t = [0 for i in range(36)] # t[0] = 1 # t[1] = 1 # t[2] = 2 # t[3] = 5 # # if n > 3: # for i in range(4, n + 1): # for j in range(i): # t[i] += t[j] * t[i - j - 1] # print(t[n]) #내려가기 # data = [] # n = int(input()) # arr = list(map(int, input().split())) # maxdp = arr # mindp = arr # for i in range(n-1): # arr = list(map(int, input().split())) # maxdp = [arr[0] + max(maxdp[0], maxdp[1]), arr[1] + max(maxdp), arr[2] + max(maxdp[1], maxdp[2])] # mindp = [arr[0] + min(mindp[0], mindp[1]), arr[1] + min(mindp), arr[2] + min(mindp[1], mindp[2])] # print(max(maxdp), min(mindp)) #캡틴 이다솜 data = [1] sigma = 0 plus = 3 n = int(input()) for i in range(300001): if data[i] >= n: break data.append(data[i] + plus) plus += (3+i) dp = [3000000]*(n+1) for i in range(1, n + 1): for sigma in data: if sigma == i: dp[i] = 1 break elif sigma > i: break dp[i] = min(dp[i], 1 + dp[i - sigma]) print(dp[n])
0
0
1
alexhwdo
2024년 1월 03일
In 소스 코드 제출
#이항 계수 2 # n, k = map(int, input().split()) # if n - k < k: # k = n - k # dp = [] # for i in range(n+1): # dp.append([1]*(i+1)) # for i in range(2, n+1): # for j in range(1, i): # dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j]) % 10007 # print(dp[n][k]) #동전 1 # n, k = map(int, input().split()) # data = [0] * n # for i in range(n): # data[i] = int(input()) # dp = [0 for i in range(k+1)] # dp[0] = 1 # for i in data: # for j in range(i, k+1): # if j-i >= 0: # dp[j] += dp[j-i] # print(dp[k]) #피보나치 수 7 # import sys # sys.setrecursionlimit(10**8) # # memo = [0]*1000000 # # # def fibo(k): # global memo # if memo[k] != 0: # return memo[k] # elif k == 0: # return 0 # elif k == 1: # return 1 # else: # memo[k] = (fibo(k-1) + fibo(k-2)) % 1000000007 # return memo[k] # # # n = int(input()) # print(fibo(n)) #파스칼의 삼각형 # n, k = map(int, input().split()) # dp = [] # for i in range(n+1): # dp.append([1]*(i+1)) # for i in range(2, n+1): # for j in range(1, i): # dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j]) # print(dp[n-1][k-1]) #이항계수 4 # def lu(n, k): # if n < k: # return 0 # elif n == k: # return 1 # a = 1 # for i in range(1, k + 1): # a *= n - i + 1 # a //= i # return a # # # n, k, m = map(int, input().split()) # N = [] # M = [] # cnt = 0 # while n or k: # N.append(n % m) # M.append(k % m) # n //= m # k //= m # r = 1 # for i in range(len(N)): # r *= lu(N[i], M[i]) # r %= m # print(r) #피보나치 수 4 # import sys # sys.setrecursionlimit(10**6) # # memo = [0]*1000000 # # # def fibo(k): # global memo # if memo[k] != 0: # return memo[k] # elif k == 0: # return 0 # elif k == 1: # return 1 # else: # memo[k] = (fibo(k-1) + fibo(k-2)) # return memo[k] # # # n = int(input()) # print(fibo(n)) #신나는 함수 실행 # def w(a, b, c): # if a <= 0 or b <= 0 or c <= 0: # return 1 # elif a > 20 or b > 20 or c > 20: # return w(20, 20, 20) # if dp[a][b][c]: # return dp[a][b][c] # if a < b < c: # dp[a][b][c] = w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c) # return dp[a][b][c] # else: # dp[a][b][c] = w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1) # return dp[a][b][c] # # # dp = [[[0] * (21) for i in range(21)] for j in range(21)] # while 1: # a, b, c = map(int, input().split()) # if a == -1 and b == -1 and c == -1: # break # print("w(", a, ",", " ", b, ",", " ", c, ")", " ", '=', " ", w(a, b, c), sep = "") #피보나치 비스무리한 수열 # # memo = [0] * 10000 # # # def simfibo(n): # global memo # if n == 1 or n == 2 or n == 3: # return 1 # if memo[n]: # return memo[n] # memo[n] = simfibo(n-1) + simfibo(n-3) # return memo[n] # # # n = int(input()) # print(simfibo(n)) # 다이나믹이 뭐예요? # n, m = map(int, input().split()) # dp = [[0 for i in range(m+1)] for j in range(n+1)] # dp[0][0] = 1 # for i in range(1, n + 1): # for j in range(1, m + 1): # dp[i][j] = (dp[i-1][j] + dp[i][j-1] + dp[i-1][j-1]) % 1000000007 # print(dp[n][m]) #피보나치는 지겨웡~ # n = int(input()) # dp = [0] * (n+1) # if n <= 1: # print(1) # else: # dp[0] = 1 # dp[1] = 1 # for i in range(2, n+1): # dp[i] = dp[i-1] + dp[i-2] + 1 # print(dp[n] % 1000000007) #피보나치 # import sys # sys.setrecursionlimit(10**6) # memo = [0]*10000000 # # # def fibo(p): # global memo # if memo[p] != 0: # return memo[p] # elif p == 1 or p == 2: # return 1 # else: # memo[p] = fibo(p-1) + fibo(p-2) # return memo[p] # # # t = int(input()) # k = t # while t > 0: # t -= 1 # p, q = map(int, input().split()) # print("Case #", k - t, ":", " ", fibo(p) % q, sep='') #타일 채우기 # t = int(input()) # dp = [1, 1, 5] # cnt = [0, 1, 4] # for i in range(t): # n = int(input()) # if n < len(dp): # print(dp[n]) # continue # idx = len(dp) # while n >= idx: # cnt.append(2 if idx % 2 else 3) # tmp = 0 # for j in range(idx): # tmp += dp[j] * cnt[-j-1] # dp.append(tmp) # idx += 1 # print(dp[n]) #점화식 import sys sys.setrecursionlimit(10**6) memo = [0] * 100000 def t(n): global memo if n == 0: return 1 if memo[n] != 0: return memo[n] for i in range(n): for j in range(n, -1, -1): memo[n] += t(i) * t(j) print(memo[n]) return memo[n] n = int(input()) print(t(n))
0
0
1

alexhwdo

더보기
bottom of page