16nm1 방 배정
질의 응답 코너입니다.
2017.07.13 20:49:38
#include <stdio.h>
int main()
{
int n, k, i, sum=0;
int d[2][7]={}, s[1001]={}, y[1001]={};
scanf("%d%d", &n, &k);
for(i=1; i<=n; i++)
{
scanf("%d%d", s[i], y[i]);
d[s[i]][y[i]]++;
}
for(i=1; i<=6; i++)
{
sum+=d[0][i]/k;
sum+=d[1][i]/k;
}
printf("%d", sum);
return 0;
}
이렇게 했는데 왜 자꾸 실행 오류가 날까요?
2017.07.16 00:28:25
#include <stdio.h>
int main()
{
int n, k, i, sum=0;
int d[2][7]={}, s[1001]={}, y[1001]={};
scanf("%d%d", &n, &k);
for(i=1; i<=n; i++)
{
scanf("%d%d", &s[i], &y[i]);
d[s[i]][y[i]]++;
}
for(i=1; i<=6; i++)
{
sum+=d[0][i]/k;
sum+=d[1][i]/k;
}
printf("%d", sum);
return 0;
}
이렇게 하면 실행은 되는 데 답이 이상하게 나오네요.. daehoon
2017.07.16 10:05:21
#include <stdio.h>
int main()
{
int n, k, i, sum=0;
int d[2][7]= {}, s[1001]= {}, y[1001]= {};
scanf("%d%d", &n, &k);
for(i=1; i<=n; i++)
{
scanf("%d%d", &s[i], &y[i]);
d[s[i]][y[i]]++;
}
for(i=1; i<=6; i++)
{
sum+=(d[0][i]+k-1)/k;
sum+=(d[1][i]+k-1)/k;
}
printf("%d", sum);
return 0;
}
이렇게 하니까 문제에서 주어졌던 대로 12가 출력되는데 테스트 케이스에는 9가 나오네요...
이 방 배정 문제는 2016년 KOI 중등부 1번 문제이어야 하는데 2016년 KOI 초등부 1번 문제가 나와 있으면서 테스트 케이스는 중등부 걸로 되는 것 같아요...