emsud   6년 전


정말 아무리 생각해도 시간초과를 잡을 방법이 떠오르지 않습니다. 풀으신 분들 어떻게 푸셨는지 힌트좀 알 수 있을까요....

rose0122   6년 전

#include <stdio.h>
int M,N;
int bee[1110][1110],seed[2220];
int main()
{
scanf ("%d %d",&M,&N);
for (int i=0;i<N;i++){
int x,y; scanf ("%d %d %*d",&x,&y);
y += x;
seed[x]++; seed[y]++;
}
int cnt = 0, pos = 0;
for (int i=M-1;i>=0;i--){
cnt += seed[pos++];
bee[i][0] = cnt;
}
for (int j=1;j<M;j++){
cnt += seed[pos++];
bee[0][j] = cnt;
}
for (int i=1;i<M;i++) for (int j=1;j<M;j++) bee[i][j] = bee[0][j];
for (int i=0;i<M;i++){
for (int j=0;j<M;j++){
if (j) printf (" ");
printf ("%d",bee[i][j]+1);
}
puts("");
}
return 0;
}

rose0122   6년 전

이렇게 하면 됩니다!!!

댓글을 작성하려면 로그인해야 합니다.