top of page

게시판 게시물

june5286
2023년 2월 18일
In 소스 코드 제출
# n = 0 # c = 0 # e = 0 # a, b = input().split() # x, y, z = input().split() # d = [] # for i in range(a): # v = input().split() # for j in range(b): # v[j] = int(v[j]) # k = int(input()) # # for l in range(k): # # for i in range(a): # # for j in range(b): # if d[i][j] == 0: # for q in range(i-1, i+2): # for p in range(j-1, j+2): # #if q>=0 and p>0 and p<a and q<b: # if d[q][p] == 1: # c += 1 # else: # for q in range(i-1, i+2): # for p in range(j - 1, j + 2): # if d[q][p] == 1: # e += 1 # w, h = input().split() # w = int(w) # h = int(h) # n = int(input()) # # da=[] # for i in range(w+1): # v = [] # for j in range(h+1): # v.append(0) # da.append(v) # # for i in range(n): # l, d, x, y = input().split() # l = int(l) # d = int(d) # x = int(x)-1 # y = int(y)-1 # if d==0: # for j in range(l): # da[x][y+j] = 1 # else: # for k in range(l): # da[x+k][y] = 1 # # for i in range(w): # for j in range(h): # print(da[i][j],end=' ') # print() # def simple(x, y): # print('Hello world') # return x+y # # print(simple(10, 20)) # def simple(x, y): # return x+y # # print(simple(10, 'Hello')) a = 0 gap = 0 def s(n): d = [0] * 100005 d[1] = 1 d[2] = 1 # data = [] # for i in range(n): # data.append(1) for i in range(3,n+1): gap = d[i-1] gFront = d[gap] gBack = d[i-gap] d[i] = gFront + gBack return d[n] n = int(input()) print(s(n))
0
0
2
june5286
2023년 2월 11일
In 소스 코드 제출
# max = 0 # m = 0 # data = [0]*4 # for i in range(4): # x,y = input().split() # x = int(x) # y = int(y) # max = max-x+y # data[i] = max # for i in range(4): # if m < data[i]: # m = data[i] # print(m) # max = 0 # n = 0 # data = [0]*10 # for i in range(10): # x,y = input().split() # x = int(x) # y = int(y) # max = max - x + y # data[i]=max # for i in range(10): # if n < data[i]: # n= data[i] # print(n) n = 0 c = 0 e = 0 a, b = input().split() x, y, z = input().split() d = [] for i in range(a): v = input().split() for j in range(b): v[j] = int(v[j]) k = int(input()) for l in range(k): for i in range(a): for j in range(b): if d[i][j] == 0: for q in range(i-1, i+2): for p in range(j-1, j+2): #if q>=0 and p>0 and p<a and q<b: if d[q][p] == 1: c += 1 else: for q in range(i-1, i+2): for p in range(j - 1, j + 2): if d[q][p] == 1: e += 1
0
0
3
june5286
2023년 1월 28일
In 소스 코드 제출
# data=[] # x = 1 # y = 1 # for i in range(10): # v = input().split() # for j in range(len(v)): # v[j] = int(v[j]) # data.append(v) # # if data[1][1] == 2: # data[1][1] = 9 # else: # data[1][1] = 9 # while True: # if data[x][y+1] == 0: # y += 1 # data[x][y] = 9 # elif data[x][y+1] == 2: # y += 1 # data[x][y] = 9 # break # elif data[x][y+1] == 1: # if data[x+1][y] == 1: # break # elif data[x+1][y] == 2: # x += 1 # data[x][y] = 9 # break # elif data[x+1][y] == 0: # x += 1 # data[x][y] = 9 # # for i in range(10): # for j in range(10): # print(data[i][j], end=' ') # print() # for i in range(10): # for j in range(10): # if data[i][j] == 1: # i += 1 # elif data[i][j] == 0: # data[i][j] = 9 # elif i==9 and j==9: # break # elif data[i][j]==2: # break # print(data[i][j], end=' ') # print() # def rock(): # print('Hello World') # # def soil(x, y): # return x+y # # rock() # print(soil(10, 20)) a = 0 def num(data): s = 0 for i in range(len(data)): if data[i]%2 != 0: s = s + data[i] return s # data=[] # for i in range(7): # v = input() # for j in range(len(v)): # v[j] = int(v[j]) # data.append(v) data=input().split() for i in range(len(data)): data[i]=int(data[i]) a = num(data) print(a)
0
0
2
june5286
2023년 1월 07일
In 소스 코드 제출
# x = input() # x = int(x) # # print(x, type(x)) # 2 3 # x, y = input().split() # x = int(x) # y = int(y) # # # 2 # # 3 # x = int(input()) # y = int(input()) # # # + - * / % // # if x > 10 and x > 100: # print('Hello') # elif x % 2==0: # print('Shooty') # else: # print(';asdasdsad') # # for i in range(5): # # for i in range(10, 20): # # for i in range(10, 20, 2): # # for i in range(20, 10, -1): # n = int(input()) # for i in range(0,n+1): # for j in range(n,n-i,-1): # print(' ', end='') # for k in range(n-i,0,-1): # print('*',end='') # print() # n = int(input()) # s = int(2) # a = int(0) # b = int(0) # for i in range(0,n*2): # b=b+1 # if i>=n or s>2: # i=i-s # s=s+2 # a=a+1 # for j in range(0,i): # print('*',end='') # # if n-a==1 and i-s<=0: # break # else: # if b>1: # print() # n = int(input()) # # k = 0 # for i in range(n*2-1): # if i<n: # k = i # else: # k -= 1 # for j in range(k+1): # print('*', end='') # print() # Array != List ( Linked List ) # data = [] # data.append(10) # data.append(20) # # data.append([10, 20, 30]) # # data.append({'Hello':'World'}) # # print(data) # # for i in range(len(data)): # print(data[i]) # data = [0] * 20 # print(data) # data[0] = 10 # print(data) # # data = [[0] * 10] # print(data) # # data = [] # v = [0] * 5 # data.append(v) # data.append(v) # data.append(v) # print(data) # # v[1] = 10 # # print(data) # n = int(input()) # v = input().split() # # data = [0] * 24 # # for i in range(len(v)): # p = int(v[i]) # data[p] += 1 # # for i in range(1,len(data)): # print(data[i], end=' ') n = int(input()) v = input().split() v = [] * n for i in range(n+1,0,-1): print(v[i],end='')
0
0
8
june5286
2022년 6월 18일
In 소스 코드 제출
n = int(input()) if n == 1: print(1) else: data = [] for i in range(n): v = [] for j in range(n): v.append(0) data.append(v) ##################### x = 0 y = n//2 k=int(1) data[x][y] = k k += 1 for i in range(n*(n)): x -= 1 y += 1 # if k % n == 0: # x += 1 if x==-1: x=n-1 if y==n: y=0 data[x][y] = k k += 1 if k > n*n: break if (k-1)%n==0: x += 1 if x == n: x = 0 data[x][y] = k k += 1 #i += 1 ##################### for i in range(n): for j in range(n): print(data[i][j], end=' ') print()
0
0
0
june5286
2022년 5월 21일
In 소스 코드 제출
# n=int(input()) # while n!=0: # print(n) # n=n-1 # n=int(input()) # while n!=0: # n=n-1 # print(n) # c=ord(input()) # t= ord('a') # while t<=c : # print(chr(t),end=' ') # t +=1 # n=int(input()) # a=int(0) # while a<=n: # print(a) # a +=1 # n=int(input()) # for i in range(n+1): # print(i) # for i in range(5): # for j in range(5): # a,b=input().split() # k=int(a) # h=int(b) # c=int(0) # d=int(0) # for i in range(k): # c+=1 # # if (k % 2 != 0): # c=(c-1)//2 # else: # c=((c-1)//2)*10 # # for i in range(h): # d+=1 # # if (h % 2 != 0): # d=(d-1)//2 # else: # d=((d-1)//2)*10 # print(c) # print(d) # a, b = input().split() # a = int(a) # b = int(b) # def solve(v): # k = 1 # if v == 1: # return 1 # for i in range(v): # if i % 2 == 0: # k = k // 10 + 1 # else: # k = k * 10 # return k # p = solve(a) # q = solve(b) # print(p+q) # n=int(input()) # s=int(0) # while n>=1: # n=n/10 # s+=1 # print(s) a,b=input().split() a=int(a) b=input(b)
0
0
9
june5286
2022년 5월 14일
In 소스 코드 제출
# # print( a - b if a > b else b - a ) # # if a > b: # print(a) # elif a == b: # print('v') # if a % 2 == 0: # print('EVEN') # else: # print('ODD') # else: # print(b) # a,b=input().split() # c=int(a) # d=int(b) # print(c if c>d else d) # a,b,c=input().split() # d=int(a) # e=int(b) # f=int(c) # print((d if d<e else e) if ((d if d<e else e)<f) else c) # d,e,f=input().split() # a=int(d) # b=int(e) # c=int(f) # if a%2==0 : # print(a) # if b%2==0 : # print(b) # if c%2==0 : # print(c) # b=input() # a=int(b) # if a<0 : # if a%2==0 : # print('A') # else : # print('B') # else : # if a%2==0 : # print('C') # else : # print('D') # b=input() # a=str(b) # if a=='A': # print("best!!!") # if a=='B': # print("good!!") # if a=='C': # print("run!") # if a=='D': # print("slowly~") # if(a!='A' and a!='B' and a!='C' and a!='D') : # print("what?") # data = [1,2,3,4,5,4,3,2,1] # for i in data: # print(i) # # print() # for i in range(10): # print(i) # for i in range(2, 10): # inclusive, exclusive # print(i) # for i in range(1, 10, 3): # print(i) # for i in range(10): # for j in range(10): # print((i*j), end=' ') # print() while True: print('^^')
0
0
7
june5286
2021년 12월 01일
In 소스 코드 제출
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* s) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. char* answer; int i,l=0; char n; if(strlen(s)%2==0) { answer = (char*)malloc(3); i=strlen(s)/2-1; answer[0]=s[i]; answer[1]=s[i+1]; answer[2]=0; } else { answer = (char*)malloc(2); l=strlen(s)/2; answer[0]=s[l]; answer[1]=0; } return answer; } 60 50 70 30 60 30 80 40 14 4 19 6 16 6 18 7 11 7 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> // sizes_rows는 2차원 배열 sizes의 행 길이, sizes_cols는 2차원 배열 sizes의 열 길이입니다. int solution(int** sizes, size_t sizes_rows, size_t sizes_cols) { int answer = 0; int i,j,m=0,n=0; for(i=0;i<sizes_rows;i++) { for(j=0;j<sizes_cols;j++) { if( /*가로*/ > ) { s[i][j] = s[j][i]; } } } for(i=0;i<sizes_rows;i++) { for(j=0;j<sizes_cols;j++) { } } return answer; }
0
0
1
june5286
2021년 11월 24일
In 소스 코드 제출
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include<string.h> char stack[100001]; int top=-1; void push(char d) { top++; stack[top]=d; } char pop() { return stack[top--]; } // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. bool solution(const char* s) { bool answer = true; int i; for(i=0;s[i]!=NULL;i++) { if(s[i]=='(') { push(s[i]); } else { if(top==-1) { return false; } pop(); } } if(top==-1) { return answer; } else { return false; } //return answer; } #include <stdio.h> #include <stdbool.h> #include <stdlib.h> // A_len은 배열 A의 길이입니다. // B_len은 배열 B의 길이입니다. int solution(int A[], size_t A_len, int B[], size_t B_len) { int answer = 0,i,j,tmp,min,min1,tmp1,sum=0; int c=A_len; for(i=0;i<A_len;i++) { min=i; for(j=i+1;j<A_len;j++) { if(A[j]<A[min]) { min=j; } } tmp = A[i]; A[i] = A[min]; A[min] = tmp; } for(i=0;i<B_len;i++) { min1=i; for(j=i+1;j<B_len;j++) { if(B[j]<B[min1]) { min1=j; } } tmp1 = B[i]; B[i] = B[min1]; B[min1] = tmp1; } for(i=0;i<A_len;i++) { sum=sum+(A[i]*B[A_len-1-i]); } return sum; }
0
0
4
june5286
2021년 11월 17일
In 소스 코드 제출
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> int* solution(const char* s) { int len=strlen(s); int* answer = (int*)malloc(sizeof(int) * 2); char* str=(char*)malloc(sizeof(char)*(len+1)); int i,j,cnt=0,num=0,a=1,c=0; strcpy(str,s); for(i=0;str[i]!=0;i++) { if(str[i]=='0') cnt++; else num++; } while(1) { a++; c=0; while(num>0) { if(num%2==0) cnt++; else c++; num=num/2; } if(c==1) break; num=c; } answer[0]=a; //이진 변환의 횟수 answer[1]=cnt; //제거된 모든 0의 개수 return answer; }
0
0
4
june5286
2021년 11월 10일
In 소스 코드 제출
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int* solution(const char* s) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(sizeof(int) * 2); char* str=(char*)malloc(sizeof(char)*(strlen(s)+1)); int i,j,cnt=0,c=0,a=0; strcpy(str,s); for(i=0;i<strlen(s);i++) { if(strlen(s)==1&&s[0]==1) { break; } if(s[i]==1) { cnt++; } c=cnt; for(j=0;cnt<1;j++) { s[j]=(c%2); c=(cnt/2); } a++; } answer[0]=a; answer[1]=cnt; return answer; }
0
0
3
june5286
2021년 10월 27일
In 소스 코드 제출
메모리 동적할당 //int answer[n]; //int* answer = (int*)malloc(sizeof(int)*n); printf("%d",answer[10]); //char str[n+1]; //char* str=(char*)malloc(sizeof(char)*(n+1)); #include <stdio.h> #include <stdbool.h> #include <stdlib.h> int* solution(long long n) { // 리턴할 값은 메모리를 동적 할당해주세요. int* answer = (int*)malloc(sizeof(int)*12); long long int j=n; int i=0; while(n>0) { answer[i]=n%10; n=n/10; i++; } return answer; } #include <stdio.h> #include <stdbool.h> #include <stdlib.h> int isprime(int n) { for(int i=2;i<n;i++) { if(n%i==0) return 0; } return 1; } // nums_len은 배열 nums의 길이입니다. int solution(int nums[], size_t nums_len) { int answer = 0; int n=nums_len; for(int i=0;i<nums_len;i++) { for(int j=i+1; j<nums_len; j++) { for(int k=j+1; k<nums_len ; k++) { answer=answer+isprime(nums[i]+nums[j]+nums[k]); } } } return answer; } #include <stdio.h> #include <stdbool.h> #include <stdlib.h> long long solution(long long n) { long long answer = 0; for(int i=1;i<=(n/2)+1;i++) { if(i*i==n) { answer=(i+1)*(i+1); break ; } else { answer=-1; } } return answer; }
0
0
9
june5286
2021년 10월 13일
In 소스 코드 제출
/*#include<stdio.h> int d[10000001]={},q,m,n; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; if(d[mid]==k) return mid+1; else if(d[mid]<k) bs(mid+1,e,k); else bs(s,mid-1,k); } int main() { int i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&d[i]); } scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d",&q); printf("%d ",bs(0,n-1,q)); } return 0; } #include<stdio.h> int a[500001]={},b[500001]={},n,i,d,m; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; if(a[mid]==k) return mid-1; else if(a[mid]<k) bs(mid+1,e,k); else bs(s,mid-1,k); } void swap(int x, int y) { int t=a[x]; a[x]=a[y]; a[y]=t; } void quick_sort(int s, int e) { int pivot=s, left=s, right=e+1; if(s>=e) return ; do { do{ left++;}while(a[pivot]>a[left]); do{ right--;}while(a[pivot]<a[right]); if(left<right) swap(left,right); }while(left<right); swap(pivot,right); quick_sort(s,right-1); quick_sort(right+1,e); } int main() { scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); b[i]=a[i]; } quick_sort(1,n); for(i=1;i<=n;i++) { printf("%d ",bs(1,n,b[i])); } return 0; }*/ #include<stdio.h> int d[10000001]={},m,n,b; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; if(d[mid]>=k) bs(s,mid,k); else bs(mid+1,e,k); } int main() { //1 1 1 1 1 int i; scanf("%d %d",&n,&b); for(i=0;i<n;i++) { scanf("%d",&d[i]); } if(d[n-1]>b) { printf("%d",n+1); } else { printf("%d",bs(0,n-1,b)); } return 0; }
0
0
1
june5286
2021년 10월 06일
In 소스 코드 제출
/*#include<stdio.h> int m[101][101]= {},cm[101][101],n,cnt=0; void copymap() {int i, j; for(i=0; i<n; i++) { for(j=0; j<n; j++) { m[i][j]=cm[i][j]; } } } void dfs(int i,int j,int k) { if(i<0 || j<0 || i>=n || j>=n || m[i][j]<=k) return ; m[i][j]=-1; dfs(i,j+1,k); dfs(i,j-1,k); dfs(i+1,j,k); dfs(i-1,j,k); } int main() { int i,j,k,max=1; scanf("%d",&n); for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%d",&m[i][j]); cm[i][j]=m[i][j]; } } for(k=1; k<=100; k++) { cnt=0; for(i=0; i<n; i++) { for(j=0; j<n; j++) { if(m[i][j]>k) { cnt++; dfs(i,j,k); } } } if(cnt>max) max=cnt; copymap(); } printf("%d",max); return 0; } #include <stdio.h> int a[100001]={},i,n; void swap(int x, int y) // a[x]와 a[y]값 교환 { int t=a[x]; a[x]=a[y]; a[y]=t; } void quick_sort(int s, int e) { int pivot=s, left=s, right=e+1; if(s>=e) return ; do { do{ left++;}while(a[pivot]>a[left]); do{ right--;}while(a[pivot]<a[right]); if(left<right) swap(left,right); }while(left<right); swap(pivot,right); quick_sort(s,right-1); quick_sort(right+1,e); } void view() { for(i=1;i<=n;i++) { printf("%d ",a[i]); printf("\n"); } } int main() { scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } //view(); quick_sort(1,n); view(); }*/ #include<stdio.h> int d[100000001]={},q,m,n; //binary search 이분탐색 int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; if(d[mid]==k) return mid+1; C:\김준혁\211006\main.c else if(d[mid]<k) bs(mid+1,e,k); else bs(s,mid-1,k); } int main() { int i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&d[i]); } scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d",&q); printf("%d ",bs(0,n-1,q)); } return 0; }
0
0
1
june5286
2021년 9월 29일
In 소스 코드 제출
/* #include<stdio.h> int n,m; int m[1001][1001]; int queue[1001][1001]; int front=-1,rear=-1; void bfs(int n,int m) { for() { } } int main() { int i,j; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&m[i][j]); } } return 0; } #include<stdio.h> double m[10001]={},max=0,a[10001]; int n; double mu() { int i; max=m[0]=a[0]; for(i=1;i<n;i++) { if(m[i-1]*a[i]>a[i]) { m[i]=m[i-1]*a[i]; } else { m[i]=a[i]; } if(m[i]>max) { max=m[i]; } } return max; } int main() { int i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%lf",&a[i]); } printf("%.3lf",mu()); return 0; } #include<stdio.h> int n,x,y; char m[11][11]; void dfs(int x,int y) { if(x<0||y<0||x>=10||y>=10||m[x][y]!='_') return ; m[x][y]='*'; dfs(x,y+1); dfs(x,y-1); dfs(x+1,y); dfs(x-1,y); } int main() { int i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) { scanf("%c ",&m[i][j]); } } scanf("%d %d",&x,&y); dfs(y,x); for(i=0;i<10;i++) { for(j=0;j<10;j++) { printf("%c",m[i][j]); } printf("\n"); } return 0; }*/ #include<stdio.h> int m[101][101]={},n; void dfs(int i,int j) { if(x<0||y<0||x>h||y>w||map[x][y]!='-1') return ; map[x][y]=-1; dfs(x,y+1); dfs(x,y-1); dfs(x+1,y); dfs(x-1,y); } int main() { int i,j; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { scanf("%d",&m[i][j]); } } dfs(j,i); return 0; }
0
0
3
june5286
2021년 9월 15일
In 소스 코드 제출
/*#include<stdio.h> int m[100001]={},sum=0,max,a[100001],n; int s() { int i; max=m[0]=a[0]; for(i=1;i<n;i++) { if(m[i-1]+a[i]>a[i]) { m[i]=m[i-1]+a[i]; } else { m[i]=a[i]; } if(m[i]>max) { max=m[i]; } } return max; } int main() { int i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } printf("%d",s()); return 0; } #include<stdio.h> int n,a,cnt=0; int visited[101]={}; int m[101][101]={}; int queue[500]; int front=-1,rear=-1; void bfs(int node) { for(int i=1;i<=n;i++) { if(m[node][i]==1&&visited[i]==0) { queue[++rear]=i; visited[i]=1; } } } int main() { int i,x,y,z; scanf("%d\n%d",&n,&a); for(i=0;i<a;i++) { scanf("%d %d",&x,&y); m[x][y]=m[y][x]=1; } queue[++rear]=1; visited[1]=1; while(front!=rear) { z=queue[++front]; bfs(z); } for(i=2;i<=n;i++) { cnt+=visited[i]; } printf("%d",cnt); return 0; }*/ #include<stdio.h> int n,m; int m[1001][1001]; int queue[1001][1001]; int front=-1,rear=-1; void bfs(int n,int m) { for() { } } int main() { int i,j; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&m[i][j]); } } return 0; }
0
0
2
june5286
2021년 9월 08일
In 소스 코드 제출
#include<stdio.h> int m[100001]={},sum=0,max=0,a[100001],n; int s() { int i; m[0]=a[0]; for(i=1;i<n;i++) { if(m[i-1]+a[i]>a[i]) { m[i]=m[i-1]+a[i]; } else { m[i]=a[i]; } if(m[i]>max) { max=m[i]; } } return max; } int main() { int i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } printf("%d",s()); return 0; }
0
0
2
june5286
2021년 9월 01일
In 소스 코드 제출
/*#include<stdio.h> int map[100][100]={}; int mapp[100][100]; int m,n,on=0,off=0; void dfs1(int i,int j) { if(i<0 || j<0 || i>=m || j>=n || mapp[i][j]!=1) return ; mapp[i][j]=-1; dfs1(i,j+1); dfs1(i,j-1); dfs1(i+1,j); dfs1(i-1,j); } void dfs(int i,int j) { if(i<0 || j<0 || i>=m || j>=n || map[i][j]!=0) return ; map[i][j]=-1; dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { int i,j; scanf("%d %d",&m,&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&map[i][j]); mapp[i][j]=map[i][j]; } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(map[i][j]==0) { on++; dfs(i,j); } } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(mapp[i][j]==1) { off++; dfs1(i,j); }#include<stdio.h> int map[100][100]={}; int mapp[100][100]; int m,n,on=0,off=0; void dfs1(int i,int j) { if(i<0 || j<0 || i>=m || j>=n || mapp[i][j]!=1) return ; mapp[i][j]=-1; dfs1(i,j+1); dfs1(i,j-1); dfs1(i+1,j); dfs1(i-1,j); } void dfs(int i,int j) { if(i<0 || j<0 || i>=m || j>=n || map[i][j]!=0) return ; map[i][j]=-1; dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { int i,j; scanf("%d %d",&m,&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&map[i][j]); mapp[i][j]=map[i][j]; } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(map[i][j]==0) { on++; dfs(i,j); } } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(mapp[i][j]==1) { off++; dfs1(i,j); } } } printf("%d %d",on,off); return 0; } } } printf("%d %d",on,off); return 0; }*/ #include<stdio.h> int m[8][8]={},cnt=0,n=0; void dfs(int i,int j,int c) { if(i<0 || j<0 || i>=7 || j>=7 || m[i][j]!=c) return ; cnt++; m[i][j]=-1; dfs(i,j+1,c); dfs(i,j-1,c); dfs(i+1,j,c); dfs(i-1,j,c); } int main() { int i,j; for(i=0;i<7;i++) { for(j=0;j<7;j++) { scanf("%d",&m[i][j]); } } for(i=0;i<7;i++) { for(j=0;j<7;j++) { if(m[i][j]!=-1) { cnt=0; dfs(i,j,m[i][j]); if(cnt>=3) { n++; } } } } printf("%d",n); return 0; }
0
0
2
june5286
2021년 8월 25일
In 소스 코드 제출
/* #include<stdio.h> int n,m,cnt=0; int map[101][101]={}; int e[100]={}; void dfs(int i,int j) { if(i<0 || j<0 || i>m || j>n || map[i][j]!=0) return ; e[cnt]++; map[i][j]=1; dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { int p,k,i,j,a,b,c,d,t,min; scanf("%d %d %d",&m,&n,&k); for(p=0;p<k;p++) { scanf("%d %d %d %d",&a,&b,&c,&d); for(i=b;i<d;i++) { for(j=a;j<c;j++) { map[i][j]=1; } } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(map[i][j]==0) { cnt++; dfs(i,j); } } } printf("%d\n",cnt); for(i=1;i<cnt;i++) { min=i; for(j=i+1;j<=cnt;j++) { if(e[j]<e[min]) { min=j; } } t=e[i]; e[i]=e[min]; e[min]=t; } for(i=1;i<=cnt;i++) { printf("%d ",e[i]); } return 0; } */ #include<stdio.h> int n,m,cnt=0;cnt2=0; int map[100][100]={}; void dfs(int i,int j) { dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { int i,j; scanf("%d %d",&m,&n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d ",map[i][j]); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(map[i][j]==1) { dfs(i,j); } } } return 0; }
0
0
3
june5286
2021년 8월 18일
In 소스 코드 제출
/*#include<stdio.h> int n,cnt=0; int m[26][26]; int danji[500]={}; void dfs(int i,int j) { if(i<0 || j<0 || i>n || j>n || m[i][j]!=1) return ; m[i][j]=-1; danji[cnt]++; dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); } int main() { int i,j,min,t; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { scanf("%1d",&m[i][j]); } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(m[i][j]==1) { cnt++; dfs(i,j); } } } printf("%d",cnt); for(i=1;i<cnt;i++) { min=i; for(j=i+1;j<=cnt;j++) { if(danji[j]<danji[min]) { min=j; } } t=danji[i]; danji[i]=danji[min]; danji[min]=t; } printf("\n"); for(i=1;i<=cnt;i++) { printf("%d\n",danji[i]); } return 0; }*/ #include<stdio.h> int n,m,k; int m[101][101]; void dfs(int ) { } int main() { int i,j; scanf("%d %d %d",&m,&n,&k); for(i=0;i<k;i++) { for(j=0;j<;j++) { scanf("%d",&m[i][j]); } } return 0; }
0
0
2

june5286

더보기
bottom of page