top of page
게시판 게시물
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
2023년 12월 23일
In 소스 코드 제출
프로그래머스 Lv.3
-숫자게임
def solution(A, B):
answer = 0
A.sort(reverse = True)
B.sort(reverse = True)
for a in A:
if a > B[0]:
answer += 0
elif a < B[0]:
answer += 1
del B[0]
return answer
-거스름돈
def solution(n, money):
k = [0] * (n+1)
k[0] = 1
for i in money:
for price in range(i, n+1):
if price >= i:
k[price] += k[price- i]
return k[n] % 1000000007
백준
-설탕 배달
n = int(input())
if n % 5 == 0:
print(n // 5)
else:
bags = 0
while n > 0:
n -= 3
bags += 1
if n % 5 == 0:
bags += n // 5
print(bags)
break
elif n == 1 or n == 2:
print(-1)
break
elif n == 0:
print(bags)
break
-1로 만들기
x = int(input())
d = [0]*(x+1)
for i in range(2, x+1):
d[i] = d[i-1]+1
if i % 2 == 0:
d[i] = min(d[i], d[i//2]+1)
if i % 3 == 0:
d[i] = min(d[i], d[i//3]+1)
print(d[x])
-2 * N 타일링
memo = [0]*1000000
def fibo(k):
global memo
if memo[k] != 0:
return memo[k]
elif k == 2:
return 1
elif k == 3:
return 2
else:
memo[k] = (fibo(k-1) + fibo(k-2))%10007
return memo[k]
n = int(input())
print(fibo(n+1) % 10007)
-파도반수열
P = [0 for i in range(101)]
P[1] = 1
P[2] = 1
P[3] = 1
for i in range(4, 101):
P[i] = P[i-2] + P[i-3]
t = int(input())
for i in range(t):
n = int(input())
print(P[n])
-2 * N 타일링 2
F = [0 for i in range(1001)]
F[1] = 1
F[2] = 3
for i in range(3, 1001):
F[i] = F[i-1] + 2 * F[i-2]
n = int(input())
print(F[n] % 10007)
-피보나치수열 2
memo = [0]*1000000
def fibo(k):
global memo
if memo[k] != 0:
return memo[k]
elif k == 0:
return 0
elif k == 1 or k == 2:
return 1
else:
memo[k] = fibo(k-1) + fibo(k-2)
return memo[k]
n = int(input())
print(fibo(n))
-이항계수2(실패)
from itertools import combinations
n, k = map(int, input().split())
if n - k < k:
k = n - k
data = [0] * n
print(len(list(combinations(data, k))) % 10007)
0
0
4
alexhwdo
2023년 12월 16일
In 소스 코드 제출
Lv.4
-행렬과 연산
from collections import deque
def shiftrow(rc,rows,cols):
rows.appendleft(rows.pop())
cols[0].appendleft(cols[0].pop())
cols[1].appendleft(cols[1].pop())
def rotate(rc,rows,cols):
rows[len(rc) - 1].append(cols[1].pop())
cols[0].append(rows[len(rc) - 1].popleft())
rows[0].appendleft(cols[0].popleft())
cols[1].appendleft(rows[0].pop())
def solution(rc, operations):
answer = []
rows = deque(deque(i[1:-1]) for i in rc)
cols = [deque(rc[i][0] for i in range(len(rc))), deque(rc[i][len(rc[0]) - 1] for i in range(len(rc)))]
rc = deque(rc)
for i in range(len(operations)):
if operations[i] == 'ShiftRow':
shiftrow(rc,rows,cols)
else:
rotate(rc,rows,cols)
for i in range(len(rc)):
answer.append([])
answer[i].append(cols[0][i])
answer[i].extend(rows[i])
answer[i].append(cols[1][i])
return answer
-짝수행 만들기(실패)
Lv.3
-모두 0으로 만들기
from collections import deque
def solution(a, edges):
answer = 0
graph = [[] for i in range(len(a))]
for v1, v2 in edges:
graph[v1].append(v2)
graph[v2].append(v1)
route = []
visit = [0] * len(a)
visit[0] = 1
deq = deque([0])
while deq:
now_location = deq.popleft()
route.append(now_location)
for j in graph[now_location]:
if visit[j] == 0:
visit[j] = 1
deq.append(j)
visit = [0] * len(a)
for i in range(len(a)-1, -1, -1):
node = route[i]
visit[node] = 1
if a[node]:
for j in graph[node]:
if visit[j] == 0:
a[j] += a[node]
answer += abs(a[node])
a[node] = 0
return answer if a[0] == 0 else -1
-풍선 터트리기
def solution(a):
answer = 0
min_list = [[] for i in range(len(a))]
min_value = int(1000000000)
for i in range(len(a)):
if a[i] < min_value:
min_list[i].append(a[i])
min_value = a[i]
else:
min_list[i].append(min_value)
min_value = int(1000000000)
for i in range(len(a)-1, -1, -1):
if a[i] < min_value:
min_list[i].append(a[i])
min_value = a[i]
else:
min_list[i].append(min_value)
for i in range(len(a)):
if a[i] <= min_list[i][0] or a[i] <= min_list[i][1]:
answer += 1
return answer
-숫자게임(실패)
0
0
2
alexhwdo
2023년 12월 09일
In 소스 코드 제출
프로그래머스
Lv.3
-등굣길
-110 옮기기
Lv.4
-사칙연산
arr = input().split()
minmax = [0, 0]
sum_value = 0
for idx in range(len(arr)-1, -1, -1):
if arr[idx] == '+':
continue
elif arr[idx] == '-':
tempmin, tempmax = minmax
minmax[0] = min(-(sum_value + tempmax), -sum_value+tempmin)
minus_v = int(arr[idx+1])
minmax[1] = max(-(sum_value+tempmin), -minus_v+(sum_value-minus_v)+tempmax)
sum_value = 0
elif int(arr[idx]) >= 0:
sum_value += int(arr[idx])
minmax[1] = sum_value
print(minmax[1])
-행렬과 연산
def shiftrow():
def rotate():
def solution(rc, operations):
answer = [[]]
data = []
for i in range(len(operation)):
if operation[i] == 'ShiftRow':
else:
return answer
0
0
2
alexhwdo
2023년 12월 02일
In 소스 코드 제출
#include<stdio.h>
int main()
{
int i,j,a, a_set[155] = {}, modular,tmp;
scanf("%d",&a);
for(i=0;i<a;i++)
{
scanf("%d",&a_set[i]);
}
scanf("%d",&modular);
for(i=0;i<a;i++)
{
a_set[i] %= modular;
}
for(i=0;i<a-1;i++)
{
for(j=0;j<a-1-i;j++)
{
if (a_set[j] >a_set[j+1])
{
tmp = a_set[j];
a_set[j] = a_set[j+1];
a_set[j+1] = tmp;
}
}
}
for(i=0;i<a;i++)
{
if(a_set[i] == a_set[i+1])
{
puts("no");
return 0;
}
}
puts("yes");
}
I solved programmers also!!
0
0
1
alexhwdo
더보기
bottom of page