이게 대체 무슨코든지 모르겠슴 cjkis http://algospot.com/judge/problem/read/CLOCKSYNC #include<stdio.h> int sw[10][16] = { {3,3,3}, {0,0,0,3,0,0,0,3,0,3,0,3}, {0,0,0,0,3,0,0,0,0,0,3,0,0,0,3,3}, {3,0,0,0,3,3,3,3}, {0,0,0,0,0,0,3,3,3,0,3,0,3},// {3,0,3,0,0,0,0,0,0,0,0,0,0,0,3,3}, {0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,3}, {0,0,0,0,3,3,0,3,0,0,0,0,0,0,3,3}, {0,3,3,3,3,3}, {0,0,0,3,3,3,0,0,0,3,0,0,0,3} }; int T, a[16], ans; int calc(int clock) { if(clock == 3) return 3; if(clock == 6) return 2; if(clock == 9) return 1; return 0; } int main() { int i, j, tmp; scanf("%d", &T); for(i = 1; i <= T; i++){ for(j = 0; j < 16; j++){ scanf("%d", &a[j]); a[j] %= 12; } ans = tmp = calc(a[12]); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[4][j]) % 12; } ans += (tmp = calc(a[13])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[9][j]) % 12; } ans += (tmp = calc(a[6])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[3][j]) % 12; } ans += (tmp = calc(a[9])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[1][j]) % 12; } ans += (tmp = calc(a[10])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[2][j]) % 12; } ans += (tmp = calc(a[7])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[7][j]) % 12; } ans += (tmp = calc(a[4])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[8][j]) % 12; } ans += (tmp = calc(a[3])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[6][j]) % 12; } ans += (tmp = calc(a[1])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[0][j]) % 12; } ans += (tmp = calc(a[0])); for(j = 0; j <16; j++){ a[j] = (a[j] + tmp * sw[5][j]) % 12; } for(j = 0; j <16; j++){ if(a[j] != 0)break; } if(j == 16) printf("%d\n", ans); else printf("-1\n"); } } 제가 이문제를 알고리즘문제해결전략책보고 풀어서 1000ms나왔는데영, 어떤 사람이 올린 답보니깐 3ms만에 푼거에염 너무 신기해서 이분이 작성한 소스를 분석할려는데 도저히 이해가안가여 a[12] 랑 sw[4]랑 연관되어있고, a[13] 랑 sw[9]랑 연관되어있고, ... 이런식으로 푼거같은데 어떻게 저렇게해서 답이 구해질 수 있죠? for문안에있는 a[j] + tmp * sw[1][j]이런게 대체 무슨뜻이예요? 11년 전
5개의 댓글이 있습니다. Being 파악을 맞게 해 나가고 계셨네요. 12번 시계를 돌리려면 어떤 스위치들이 필요한지 곰곰히 생각해 보시면 금방 찾아내실 것 같네요~ 11년 전 link tjkim 제출한 소스코드 볼수도 있나요? 아니면 그분에게 직접 요청해서 받으셨나요? 11년 전 link cjkis 답맞추면 다른사람소스볼수잇슴 11년 전 link tjkim 아 감사합니다. 처음알았네요 11년 전 link cjkis 우앙 알아냇다 우헤헤 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
cjkis
http://algospot.com/judge/problem/read/CLOCKSYNC
제가 이문제를 알고리즘문제해결전략책보고 풀어서 1000ms나왔는데영, 어떤 사람이 올린 답보니깐 3ms만에 푼거에염
너무 신기해서 이분이 작성한 소스를 분석할려는데 도저히 이해가안가여
a[12] 랑 sw[4]랑 연관되어있고,
a[13] 랑 sw[9]랑 연관되어있고,
...
이런식으로 푼거같은데 어떻게 저렇게해서 답이 구해질 수 있죠?
for문안에있는 a[j] + tmp * sw[1][j]이런게 대체 무슨뜻이예요?
11년 전