top of page
게시판 게시물
csi11111
2024년 5월 19일
In 소스 코드 제출
# print("Hello")# print("Hello ")# print('Hello')# print('World')# print('\'Hello\'')# print('\"Hello World\"')# print('\"!@#$%^&*()\'')# print('\"C:\\Download\\\'hello\'.py\"')# print('print(\"Hello\\nWorld\")')# a=input()# print(a)# a=input()# a=int(a)# print(a)# a=input()# a=float(a)# print(a)# a=input()# a=int(a)# s=input()# s=int(s)# print(a)# print(s)# a=input()# s=input()# print(s)# print(a)# a=input()# a=float(a)# print(a)# print(a)# print(a)# a,b,c = input().split('.') # '.'을 기준으로 여러 개 입력 받기## print(a,b,c)# a,b = input().split() # 공백을 기준으로 여러 개 입력받기# # a = int(a)# # b = int(b)# print(a+b)# a,s=input().split()# a=int(a)# s=int(s)# print(a)# print(s)# a,s=input().split()# print(s,a)# a=input()# print(a,a,a)# a,s=input().split(':')# print(a,s,sep=':')# a,s,d=input().split('.')# a=int(a)# s=int(s)# d=int(d)# print(d,s,a,sep='-')# a,s=input().split('-')# print(a,s,sep='')# a=input()# print(a[0])# print(a[1])# print(a[2])# print(a[3])# print(a[4])# a=input()# print(a[0]+a[1]+' '+a[2]+a[3]+' '+a[4]+a[5])# a,s,d=input().split(':')# print(s)# a,s=input().split()# print(a+s)# a,s=input().split()# a=int(a)# s=int(s)# print(a+s)# a=input()# a=float(a)# s=input()# s=float(s)# print(a+s)# 6032-6045a = 3.141592print("%.2f"%a)
0
0
2
csi11111
2024년 5월 19일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
int a,s,d,i,sum=1001;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d %d",&s,&d);
if(s<=d)
{
if(sum>d)
{
sum=d;
}
}
}
if(sum!=1001)
{
printf("%d",sum);
}
else
{
printf("-1");
}
return 0;
}*/
#include <stdio.h>
int main()
{
int a,s,i;
int asd[100001]={};
scanf("%d %d",&a,&s);
for(i=a;i<=s;i++)
{
}
return 0;
}
0
0
1
csi11111
2024년 5월 05일
In 소스 코드 제출
#include <stdio.h>
int main()
{
int a,s,d,i,sum=1000;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d %d",&s,&d);
if(s<=d)
{
if(sum>d)
{
sum=d;
}
}
}
if()
{
printf("%d",sum);
}
else
{
printf("-1");
}
return 0;
}
0
0
2
csi11111
2024년 4월 28일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
int a,s;
scanf("%d %d",&a,&s);
if(a==10)
{
printf("%d",30-s);
}
else if(a%2==0)
{
printf("%d",(10-a)/2*30+(10-a)/2*31+(30-s));
}
else if(a%2==1)
{
printf("%d",(10-a)/2*30+((10-a)+1)/2*31+(30-s));
}
return 0;
}*/
//8월7일 ~ 8월 말일 ??
//9월 ??
//10월1일 ~ 10월 30일 ??
//
//
//홀수달 31일
//짝수달 30일
//
//...
//7월 31
//8월 30
//9월 31
//10월 30
#include <stdio.h>
int main()
{
int a,s;
scanf("%d %d",&a,&s);
return 0;
}
0
0
2
csi11111
2024년 4월 14일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
int a,s,i,j,sum=0,max=-10000000;
int asd[100001]={};
scanf("%d %d",&a,&s);
for(i=1;i<=a;i++)
{
scanf("%d",&asd[i]);
}
for(i=1;i+s-1<=a;i++)
{
// asd[i] 부터 s개의 합 구하기
sum=0;
for(j=i;j<i+s;j++)
{
sum+=asd[j];
}
//printf("%d ",sum);
if(max<sum)
{
max=sum;
}
}
printf("%d",max);
return 0;
}*/
/*#include <stdio.h>
int main()
{
int a,i,min=1001,max=0;
int asd[1001]={};
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d",&asd[i]);
if(max<asd[i])
{
max=asd[i];
}
if(min>asd[i])
{
min=asd[i];
}
}
printf("%d",max-min);
return 0;
}*/
/*#include <stdio.h>
int main()
{
int a,s,i,j,sum=0;
int asd[50][50]={};
scanf("%d %d",&a,&s);
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
scanf("%d",&asd[i][j]);
if(asd[i][j]!=-1 && asd[i][j]+s<=5)
{
sum++;
}
}
}
printf("%d",sum);
return 0;
}*/
0
0
2
csi11111
2024년 4월 07일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
int a,i,sum=0,cnt=0;
int asd[101]= {};
scanf("%d",&a);
for(i=1; i<=a; i++)
{
scanf("%d",&asd[i]);
if(asd[i]==1)
{
cnt++;
sum=sum+cnt;
}
if(asd[i]==0)
{
cnt=0;
}
}
printf("%d",sum);
return 0;
}*/
#include <stdio.h>
int main()
{
int a,s,i,sum=0,asd[100001]= {};
scanf("%d %d",&a,&s);
for(i=1; i<=a; i++)
{
scanf("%d",&asd[i]);
}
return 0;
}
0
0
2
csi11111
2024년 3월 31일
In 소스 코드 제출
/*#include <stdio.h>
int isprime(int s)
{
int i,cnt=0;
// s가 소수인지 ?
// s의 약수의 개수가 2개뿐이어야해 .
// 1. s의 약수를 다~~~~세고 그게 2개인지 판단하는반법
// 2. 16이 소수인지? 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16
for(i=1;i<=s;i++)
{
if(s%i==0)
{
cnt++;
if(cnt>2)
{
return 0;
}
}
}
if(cnt==2)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int a,s,sum=0,min=10000,i;
scanf("%d %d",&a,&s);
for(i=a;i<=s;i++)
{
if(isprime(i)==1)
{
sum=sum+i;
if(min>i)
{
min=i;
}
}
}
if(sum==0)
{
printf("-1");
}
else
{
printf("%d\n%d",sum,min);
}
return 0;
}*/
#include <stdio.h>
int main()
{
int a,i,sum=0;
int asd[101]={};
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d",&asd[i]);
}
if(asd[i]==1)
{
sum=sum+1;
}
return 0;
}
0
0
2
csi11111
2024년 3월 17일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
double a,s,time=0, money;
int i,sum=0;
for(i=1;i<=5;i++)
{
scanf("%lf %lf",&a,&s);
if(s-a>=5)
{
time=time+4.0;
}
else if(s-a>=1)
{
time = time+ (s-a-1);
}
}
money = time * 10000;
if(time>=15.0)
{
money=money*0.95;
}
else if(time<=5.0)
{
money=money*1.05;
}
// 실수 -> 정수
//1. printf("%.0lf", money); -> 소수첫째자리에서 반올림
//2. printf("%d",(int)money); -> 소수첫째자리에서 버림
printf("%d",(int)money);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int i,n,cnt=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
if(n%i==0)
{
cnt++;
}
}
// cnt : n의 약수의 갯수
if(cnt==2)
{
printf("prime");
}
else
{
printf("not prime");
}
return 0;
}*/
#include <stdio.h>
int i,s,cnt=0;
int isprime(int n,int j)
{
for(j=1;j<=s;j++)
{
if(i%j==0)
{
cnt++;
}
}
if(cnt==2)
{
return 1;
}
else
{
return 0;
}
// n이 소수라면 1 아니라면 0을 리턴하는 함수
}
int main()
{
int a,sum=0,min=10000;
scanf("%d %d",&a,&s);
for(int i=a;i<=s;i++)
{
//i가 소수인지? = i의 약수의 개수가 2개인지?
if(isprime(i)==1)
{
sum+=i;
if(min>i)
{
min=i;
}
}
}
return 0;
}
0
0
3
csi11111
2024년 3월 10일
In 소스 코드 제출
/*#include <string.h>
int arr[101][101]={},a,s,d,asd;
int qwe[100000000]={};
void dfs(int i,int j)
{
if(i<0 || i>=s || j<0 || j>=a || arr[i][j]!=0) return;
arr[i][j]=1;
asd++;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int f,g,h,k,n,i,j,cnt=0,sum=0,temp;
scanf("%d %d %d",&a,&s,&d);
for(n=1;n<=d;n++)
{
scanf("%d %d %d %d",&f,&g,&h,&k);
for(i=f;i<h;i++)
{
for(j=g;j<k;j++)
{
arr[i][j]=1;
}
}
}
for(i=0;i<s;i++)
{
for(j=0;j<a;j++)
{
if(arr[i][j]==0)
{
cnt++;
asd=0;
dfs(i,j);
qwe[cnt]=asd;
}
}
}
printf("%d\n",cnt);
for(i=0;i<cnt;i++)
{
for(j=1;j<cnt-i;j++)
{
if(qwe[j]>qwe[j+1])
{
temp=qwe[j];
qwe[j]=qwe[j+1];
qwe[j+1]=temp;
}
}
}
for(int i=1;i<=cnt;i++)
{
printf("%d ",qwe[i]);
}
return 0;
}*/
/*#include <stdio.h>
int arr[26][26]={},a,asd;
int danji[1000]={};
void dfs(int i,int j)
{
if(i<1 || i>a || j<1 || j>a || arr[i][j]!=1) return;
arr[i][j]=0;
asd++;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int i,j,cnt=0,temp;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
scanf("%1d",&arr[i][j]);
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
if(arr[i][j]!=0)
{
cnt++;
asd=0;
dfs(i,j);
danji[cnt]=asd;
}
}
}
printf("%d\n",cnt);
for(i=1;i<cnt;i++)
{
for(j=1;j<cnt-i;j++)
{
if(danji[j]>danji[j+1])
{
temp=danji[j];
danji[j]=danji[j+1];
danji[j+1]=temp;
}
}
}
for(int i=1;i<=cnt;i++)
{
printf("%d\n",danji[i]);
}
return 0;
}*/
#include <stdio.h>
int main()
{
float a,s,i;
for(i=1;i<=5;i++)
{
scanf("%f %f",&a,&s);
}
return 0;
}
0
0
4
csi11111
2024년 3월 09일
In 소스 코드 제출
#include <string.h>
int arr[101][101]={},a,s,d;
void dfs(int i,int j,int c)
{
if(i<1 || i>a || j<1 || j>a || arr[i][j]!=c) return;
arr[i][j]=0;
asd++;
dfs(i-1,j,c);
dfs(i+1,j,c);
dfs(i,j-1,c);
dfs(i,j+1,c);
}
int main()
{
int f,g,h,k,n,i,j,cnt=0,sum=0;
scanf("%d %d %d",&a,&s,&d);
for(n=1;n<=d;n++)
{
scanf("%d %d %d %d",&f,&g,&h,&k);
for(i=f;i<h;i++)
{
for(j=g;j<k;j++)
{
arr[i][j]=1;
}
}
}
return 0;
}
0
0
2
csi11111
2024년 2월 27일
In 소스 코드 제출
/*#include <stdio.h>
#include <string.h>
int arr[101][101]={},a,s;
void dfs(int i,int j)
{
if(i<1 || i>a || j<1 || j>s || arr[i][j]==0) return;
arr[i][j]=0;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
void dfs2(int i,int j)
{
if(i<1 || i>a || j<1 || j>s || arr[i][j]==1) return;
arr[i][j]=1;
dfs2(i-1,j);
dfs2(i+1,j);
dfs2(i,j-1);
dfs2(i,j+1);
}
int main()
{
int i,j,cnt=0,cut=0;
scanf("%d %d",&a,&s);
int tmp[101][101]={};
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
scanf("%d",&arr[i][j]);
tmp[i][j]=arr[i][j];
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]!=0)
{
cnt++;
dfs(i,j);
}
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
arr[i][j]=tmp[i][j];
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]!=1)
{
cut++;
dfs2(i,j);
}
}
}
printf("%d %d",cut,cnt);
return 0;
}*/
#include <stdio.h>
#include <string.h>
int arr[101][101]={},a,s,d;
void dfs(int i,int j,int c)
{
if(i<1 || i>a || j<1 || j>a || arr[i][j]!=c) return;
arr[i][j]=0;
asd++;
dfs(i-1,j,c);
dfs(i+1,j,c);
dfs(i,j-1,c);
dfs(i,j+1,c);
}
int main()
{
int f,g,h,k,n,i,j,cnt=0,sum=0;
scanf("%d %d %d",&a,&s,&d);
for(n=1;n<=d;n++)
{
scanf("%d %d %d %d",&f,&g,&h,&k);
for(i=f;i<h;i++)
{
for(j=g;j<k;j++)
{
arr[i][j]=1;
}
}
}
// for(i=0;i<s;i++)
// {
// for(j=0;j<a;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
// arr에서 0에 대한 dfs를 하자.
return 0;
}
0
0
3
csi11111
2024년 2월 20일
In 소스 코드 제출
#include <stdio.h>
#include <string.h>
int arr[101][101]={},asd,zxc,a,s;
int qwe[626]={};
void dfs(int i,int j)
{
if(i<1 || i>a || j<1 || j>s || arr[i][j]==0) return;
arr[i][j]=0;
asd++;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
void dfs2(int i,int j)
{
if(i<1 || i>a || j<1 || j>s || arr[i][j]==1) return;
arr[i][j]=1;
zxc++;
dfs2(i-1,j);
dfs2(i+1,j);
dfs2(i,j-1);
dfs2(i,j+1);
}
int main()
{
int i,j,cnt=0,cut=0;
scanf("%d %d",&a,&s);
int tmp[101][101]={};
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
scanf("%d",&arr[i][j]);
tmp[i][j]=arr[i][j];
// 그리고 입력받을때 띄어쓰기 들어오니까 %1d 안해도대 !
}
}
// 그니까 지금 1에대해서 dfs 쭉 하고 -> 이거 하고나면 맵이 다 0이 되것지??
//
// 구러면 밑에 0에 대해서 할수가없자나 ??
// 그니까 새로운 이차원 배열 (임시배열)을 만들어 놓고 1에 대해서 dfs 하고
// 그담에 임시배열에있더거 다시 복사해와서 그걸로 0에 대대한 dfs를 해야댐 !! ok??
//
// 0에 대해서 dfs 쭉 해야하자나?? 근데
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]!=0)
{
asd=0;
cnt++;
dfs(i,j);
qwe[cnt]=asd;
}
}
}
// 여기서 맵 다시 복원해놓고
//새로운거 시작
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]!=0)
{
asd=0;
cut++;
dfs(i,j);
qwe[cut]=zxc;
}
}
}
printf("%d %d",cut,cnt);
return 0;
}
0
0
2
csi11111
2024년 2월 13일
In 소스 코드 제출
/*#include <stdio.h>
#include <string.h>
int arr[10][10]={},asd;
void dfs(int i ,int j,int c)
{
if(i<1 || i>7 || j<1 || j>7 || arr[i][j]!=c) return;
arr[i][j]=0;
asd++;
dfs(i-1,j,c);
dfs(i+1,j,c);
dfs(i,j-1,c);
dfs(i,j+1,c);
}
int main()
{
int d,i,j,cnt=0;
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
if(arr[i][j]!=0)
{
asd=0;
//printf("%d %d\n",i,j);
dfs(i,j,arr[i][j]);
if(asd>=3)
{
cnt++;
}
}
}
}
printf("%d",cnt);
return 0;
}*/
/*#include <stdio.h>
#include <string.h>
int arr[26][26]={},asd,a;
int qwe[626]={};
void dfs(int i,int j,int c)
{
if(i<1 || i>a || j<1 || j>a || arr[i][j]!=c) return;
arr[i][j]=0;
asd++;
dfs(i-1,j,c);
dfs(i+1,j,c);
dfs(i,j-1,c);
dfs(i,j+1,c);
}
int main()
{
int i,j,cnt=0,temp;
scanf("%d",&a);
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
scanf("%1d",&arr[i][j]);
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
if(arr[i][j]!=0)
{
asd=0;
cnt++;
dfs(i,j,arr[i][j]);
qwe[cnt]=asd;
}
}
}
printf("%d\n",cnt);
for(i=1;i<cnt;i++)
{
for(j=1;j<=cnt-i;j++)
{
if(qwe[j]>qwe[j+1])
{
temp=qwe[j];
qwe[j]=qwe[j+1];
qwe[j+1]=temp;
}
}
}
for(int i=1;i<=cnt;i++)
{
printf("%d\n",qwe[i]);
}
return 0;
}*/
#include <stdio.h>
#include <string.h>
int arr[101][101]={},a,s;
void dfs(int i,int j)
{
if(i<1 || i>a || j<1 || j>s || arr[i][j]!=1) return;
arr[i][j]=0;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int i,j,cnt=0;
scanf("%d %d",&a,&s);
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=1;i<=a;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]!=0)
{
dfs(i,j);
}
}
}
return 0;
}
0
0
3
csi11111
2024년 2월 12일
In 소스 코드 제출
#include <stdio.h>
#include <string.h>
int arr[10][10]={};
void dfs(int i ,int j)
{
if(i<1 || i>7 || j<1 || j>7 || arr[i][j]==) return;
arr[i][j]=0;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int d,i,j,cnt=0;
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
scanf("%d ",&arr[i][j]);
}
}
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
if(arr[i][j]==)
{
printf("%d %d\n",i,j);
cnt++;
dfs(i,j);
}
}
}
printf("%d",cnt);
return 0;
}
0
0
3
csi11111
2024년 2월 06일
In 소스 코드 제출
/*#include <stdio.h>
#include <string.h>
int arr[101][101]={}; //노드의 연결상태 저장 인접행렬
int visited[101]={}; // 방문했는지 저장 배열
int a;
void dfs(int x) //노드x에서 갈 수 있는 곳을 모두 가세요
{
//printf("%d->",x);
visited[x]=1; //방문했따!
for(int i=1;i<=a;i++) // 모든 노드를 확인
{
if(arr[x][i]==1 && visited[i]==0) // x와 연결 && 방문x 노드에서
{
dfs(i);
}
}
}
int main()
{
int s,d,f,sum=0,i,j;
scanf("%d",&a); // 노드 개수
scanf("%d",&s); //연결선 개수
for(i=1;i<=s;i++)
{
scanf("%d %d",&d,&f);
arr[d][f]=1;
arr[f][d]=1;
}
dfs(1); //1번 노드에서 dfs 하세요 (모든 연결된 노드를 방문하세요)
for(i=2;i<=a;i++)
{
if(visited[i]==1)
{
sum++;
}
}
printf("%d",sum);
// quiz1. 5번노드와 연결되어있는 노드를 모두 출력하세요
// for(i=1;i<=a;i++)
// {
// if(arr[5][i]==1)
// {
// printf("%d ",i);
// }
// }
// for(i=1;i<=a;i++)
// {
// for(j=1;j<=a;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
return 0;
}*/
/**
#include <stdio.h>
#include <string.h>
int arr[27][27]={},s;
//void dfs(int i ,int j)
//{
// arr[i][j]=0; //방문 표시
// //범위안에있고, 연결되어있냐?
// if(i-1>=1 && arr[i-1][j]==1) dfs(i-1,j);
// if(i+1<=s && arr[i+1][j]==1) dfs(i+1,j);
// if(j-1>=1 && arr[i][j-1]==1) dfs(i,j-1);
// if(j+1<=s && arr[i][j+1]==1) dfs(i,j+1);
//}
void dfs(int i ,int j)
{
// 범위밖이거나? 0이니?
if(i<1 || i>s || j<1 || j>s || arr[i][j]!=1 ) return ;
arr[i][j]=0; //방문 표시
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int d,i,j,cnt=0;
scanf("%d",&s);
// 1. map 입력받기
for(i=1;i<=s;i++)
{
for(j=1;j<=s;j++)
{
scanf("%1d",&arr[i][j]);
}
}
//2. dfs 시작하기
for(i=1;i<=s;i++)
{
for(j=1;j<=s;j++)
{
if(arr[i][j]==1)
{
printf("%d %d\n",i,j);
cnt++;
dfs(i,j);
}
}
}
printf("%d",cnt);
// for(i=1;i<=s;i++)
// {
// for(j=1;j<=s;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
return 0;
}
**/
/*#include <stdio.h>
#include <string.h>
char arr[101][101]={};
int d,f;
void dfs(int i ,int j)
{
if(i<1 || i>f || j<1 || j>d || arr[i][j]!='L' ) return ;
arr[i][j]=0;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
dfs(i+1,j+1);
dfs(i-1,j-1);
dfs(i+1,j-1);
dfs(i-1,j+1);
}
// 첫째 줄에 두 정수 d, f가 주어진다
// d는 지도의 너비를 의미하고, f는 지도의 높이를 의미한다.
int main()
{
int i,j,cnt=0;
scanf("%d %d",&d,&f);
for(i=1;i<=f;i++)
{
for(j=1;j<=d;j++)
{
scanf(" %c",&arr[i][j]);
}
}
for(i=1;i<=f;i++)
{
for(j=1;j<=d;j++)
{
if(arr[i][j]=='L')
{
cnt++;
dfs(i,j);
}
}
}
printf("%d",cnt);
return 0;
}*/
#include <stdio.h>
#include <string.h>
int arr[10][10]={};
void dfs(int i ,int j)
{
if(i<1 || i>7 || j<1 || j>7 || arr[i][j]==) return;
arr[i][j]=0;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
int main()
{
int d,i,j,cnt=0;
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
scanf("%d ",&arr[i][j]);
}
}
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
if(arr[i][j]==)
{
printf("%d %d\n",i,j);
cnt++;
dfs(i,j);
}
}
}
printf("%d",cnt);
return 0;
}
0
0
4
csi11111
2024년 2월 05일
In 소스 코드 제출
/*#include <stdio.h>
int main()
{
int a,s,i,sum=0,max=0;
for(i=1;i<=10;i++)
{
scanf("%d %d",&a,&s);
sum=sum-a+s;
if(max<sum)
{
max=sum;
}
}
printf("%d",max);
return 0;
}
4503 : 바이러스
주어진 그래프를 인접행렬 (노드의 연결 상태) 에 기록하고, 출력하기
*/
#include <stdio.h>
#include <string.h>
int arr[101][101]={}; //노드의 연결상태 저장 인접행렬
int visited[101]={}; // 방문했는지 저장 배열
int a;
void dfs(int x) //노드x에서 갈 수 있는 곳을 모두 가세요
{
//printf("%d->",x);
visited[x]=1; //방문했따!
for(int i=1;i<=a;i++) // 모든 노드를 확인
{
if(arr[x][i]==1 && visited[i]==0) // x와 연결 && 방문x 노드에서
{
dfs(i);
}
}
}
int main()
{
int s,d,f,sum,i,j;
scanf("%d",&a); // 노드 개수
scanf("%d",&s); //연결선 개수
for(i=1;i<=s;i++)
{
scanf("%d %d",&d,&f);
arr[d][f]=1;
arr[f][d]=1;
}
dfs(1); //1번 노드에서 dfs 하세요 (모든 연결된 노드를 방문하세요)
for(i=1;i<=a;i++)
{
sum=a-1;
}
printf("%d",sum);
// quiz1. 5번노드와 연결되어있는 노드를 모두 출력하세요
// for(i=1;i<=a;i++)
// {
// if(arr[5][i]==1)
// {
// printf("%d ",i);
// }
// }
// for(i=1;i<=a;i++)
// {
// for(j=1;j<=a;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
return 0;
}
0
0
2
csi11111
2024년 1월 30일
In 소스 코드 제출
/*#include <stdio.h>
#include <string.h>
int stack[110]={},stack1[110]={},stack2[110]={};
int top=-1,top1=-1,top2=-1;
void push(int a)
{
top++;
stack[top]=a;
}
void push1(int a)
{
top1++;
stack1[top1]=a;
}
void push2(int a)
{
top2++;
stack2[top2]=a;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int pop1()
{
if(top1==-1) return 0;
return stack1[top1--];
}
int pop2()
{
if(top2==-1) return 0;
return stack2[top2--];
}
int main()
{
char n[110]={},a[110]={};
int i,t, x, y, z, c=0; // c :올림수
scanf("%s %s",n,a);
for(i=0;n[i]!=NULL;i++)
{
push1(n[i]-'0');
}
for(i=0;a[i]!=NULL;i++)
{
push2(a[i]-'0');
}
//성일이가 혼!자! 작성해보기!!
while(1)
{
if(top1==-1 && top2==-1)
{
break;
}
x=pop1();
y=pop2();
z=x+y+c;
push(z%10);
c=z/10;
}
if(c!=0)
{
push(c);
}
while(top!=-1)
{
printf("%d",pop());
}
return 0;
}*/
/*#include <stdio.h>
int main()
{
int a,s,i,sum=0,max=0;
for(i=1; i<=4; i++)
{
scanf("%d %d",&a,&s);
sum=sum-a+s;
if(max<sum)
{
max=sum;
}
}
printf("%d",max);
return 0;
}*/
/*#include <stdio.h>
int main()
{
int a,s,i,sum=0,max=0;
for(i=1;i<=10;i++)
{
scanf("%d %d",&a,&s);
sum=sum-a+s;
if(max<sum)
{
max=sum;
}
}
printf("%d",max);
return 0;
}
4503 : 바이러스
주어진 그래프를 인접행렬 (노드의 연결 상태) 에 기록하고, 출력하기
*/
#include <stdio.h>
#include <string.h>
int arr[101][101]={}; //노드의 연결상태 저장 인접행렬
int visited[101]={}; // 방문했는지 저장 배열
int a;
void dfs(int x) //노드x에서 갈 수 있는 곳을 모두 가세요
{
//printf("%d->",x);
visited[x]=1; //방문했따!
for(int i=1;i<=a;i++) // 모든 노드를 확인
{
if(arr[x][i]==1 && visited[i]==0) // x와 연결 && 방문x 노드에서
{
dfs(i);
}
}
}
int main()
{
int s,d,f,sum,i,j;
scanf("%d",&a); // 노드 개수
scanf("%d",&s); //연결선 개수
for(i=1;i<=s;i++)
{
scanf("%d %d",&d,&f);
arr[d][f]=1;
arr[f][d]=1;
}
dfs(1); //1번 노드에서 dfs 하세요 (모든 연결된 노드를 방문하세요)
for(i=1;i<=a;i++)
{
sum=i-1;
}
printf("%d",sum);
// quiz1. 5번노드와 연결되어있는 노드를 모두 출력하세요
// for(i=1;i<=a;i++)
// {
// if(arr[5][i]==1)
// {
// printf("%d ",i);
// }
// }
// for(i=1;i<=a;i++)
// {
// for(j=1;j<=a;j++)
// {
// printf("%d ",arr[i][j]);
// }
// printf("\n");
// }
return 0;
}
0
0
2
csi11111
2024년 1월 29일
In 소스 코드 제출
#include <stdio.h>
#include <string.h>
int stack[110]={},stack1[110]={},stack2[110]={};
int top=-1,top1=-1,top2=-1;
void push(int a)
{
top++;
stack[top]=a;
}
void push1(int a)
{
top1++;
stack1[top1]=a;
}
void push2(int a)
{
top2++;
stack2[top2]=a;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int pop1()
{
if(top1==-1) return 0;
return stack1[top1--];
}
int pop2()
{
if(top2==-1) return 0;
return stack2[top2--];
}
int main()
{
char n[110]={},a[110]={};
int i,t, x, y, z, c=0; // c :올림수
scanf("%s %s",n,a);
for(i=0;n[i]!=NULL;i++)
{
push1(n[i]-'0');
}
for(i=0;a[i]!=NULL;i++)
{
push2(a[i]-'0');
}
//성일이가 혼!자! 작성해보기!!
while(1)
{
if(top1==-1 && top2==-1)
{
break;
}
x=pop1();
y=pop2();
z=x+y+c;
push(z%10);
c=z/10;
if(c!=0) pop();
}
while(top!=-1)
{
printf("%d",pop());
}
return 0;
}
0
0
2
csi11111
2024년 1월 23일
In 소스 코드 제출
/*
#include <stdio.h>
int arr[1000001]={};
void qs(int s,int e)
{
if(s>=e) return ;
int pivot=s;
int left=s;
int right=e+1;
while(1)
{
do
{
left++;
}while(arr[pivot] > arr[left]);
do
{
right--;
}while(arr[pivot]<arr[right]);
if(right < left) break;
int tmp = arr[left];
arr[left]=arr[right];
arr[right]=tmp;
}
int tmp = arr[pivot];
arr[pivot]=arr[right];
arr[right]=tmp;
qs(s,right-1);
qs(right+1,e);
}
int main()
{
int e,s,k,a,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
qs(1,n);
for(i=1;i<=n;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
int stack[110]={},stack1[110]={},stack2[110]={};
int top=-1,top1=-1,top2=-1;
void push(int a)
{
top++;
stack[top]=a;
}
void push1(int a)
{
top1++;
stack1[top1]=a;
}
void push2(int a)
{
top2++;
stack2[top2]=a;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int pop1()
{
if(top1==-1) return 0;
return stack1[top1--];
}
int pop2()
{
if(top2==-1) return 0;
return stack2[top2--];
}
int main()
{
char n[101]={},a[101]={};
int i,t, x, y, z, c=0; // c :올림수
scanf("%s %s",n,a);
for(i=0;n[i]!=NULL;i++)
{
push1(n[i]-'0');
}
for(i=0;a[i]!=NULL;i++)
{
push2(a[i]-'0');
}
//성일이가 혼!자! 작성해보기!!
while(1)
{
if(top1==-1 && top2==-1)
{
break;
}
x=pop1();
y=pop2();
z=x+y+c;
push(z%10);
c=z/10;
if(c!=0) pop();
}
while(top!=-1)
{
printf("%d",pop());
}
return 0;
}
0
0
2
csi11111
2024년 1월 16일
In 소스 코드 제출
/*#include <stdio.h>
int arr[1000001];
int bs(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(arr[mid]==k) return mid;
else if(arr[mid]>k) return bs(s,mid-1,k);
else if(arr[mid]<k) return bs(mid+1,e,k);
}
int main()
{
int e,s,n;
int k;
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
printf("%d",bs(1,n,k));
return 0;
}*/
/*#include <stdio.h>
int main()
{
int j,k,i,n,arr[100001]={};
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&k);
for(j=1;j<=n;j++)
{
if(arr[j]==k)
{
printf("%d",j);
return 0;
}
}
printf("-1");
return 0;
}*/
/*#include <stdio.h>
int arr[1000001]={};
int bs(int s,int e,int k)
{
int mid=(s+e)/2;
if(s>e) return -1;
if(arr[mid]==k) return mid;
else if(arr[mid]>k) return bs(s,mid-1,k);
else if(arr[mid]<k) return bs(mid+1,e,k);
}
int main()
{
int e,s,k,a,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d",&k);
printf("%d ",bs(1,n,k));
}
return 0;
}
느린애들 : 버블, 선택, 삽입
빠른애들 : "퀵정렬"
퀵정렬 : 기준값이 자기 자리를 찾아감!!
예를들면
5 7 3 10 2 1
->
3 1 2 "5" 7 10
quick sort -> qs
*/
#include <stdio.h>
int arr[1000001]={};
void qs(int s,int e) // arr[s] ~ arr[e] 를 퀵정렬해주세요
{
if(s>=e) return ; // 하나남았어? 그만해!
int pivot = s ; // 이번 라운드에서 자기 자리를 찾아갈 위치 ( 기준)
int left = s;
int right = e;
while(1)
{
while(arr[pivot] >= arr[left])
{
left++;
}
while(arr[pivot]<=arr[right])
{
right--;
}
if(right < left) break;
int tmp = arr[left];
arr[left]=arr[right];
arr[right]=tmp;
}
int tmp = arr[pivot];
arr[pivot]=arr[right];
arr[right]=tmp;
// ****arr[pivot]보다작은애들 **** arr[pivot] ****arr[pivot]보다큰애들*****
qs(s,right-1);
qs(right+1,e);
}
int main()
{
int e,s,k,a,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
//퀵정렬
qs(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
0
0
4
csi11111
더보기
bottom of page