Submission #138530

# Submission time Handle Problem Language Result Execution time Memory
138530 2019-07-30T06:28:28 Z 이온조(#3319) Who wants to live forever? (CERC12_B) C++14
0 / 1
713 ms 904 KB
#include <bits/stdc++.h>
using namespace std;

char S[200009];
int A[200009], B[200009];

bool sim(int N, int c) {
	while(c--) {
		for(int i=1; i<=N; i++) B[i] = (A[i-1] ^ A[i+1]);
		for(int i=1; i<=N; i++) A[i] = B[i];
	}
	bool f = 0;
	for(int i=1; i<=N; i++) f |= A[i];
	return f;
}

int main() {
	int T; scanf("%d",&T);
	while(T--) {
		scanf(" %s", S+1);
		int N = strlen(S+1);
		bool f = (((N+1) &- (N+1)) != N+1);
		for(int i=1; i<=N; i++) A[i] = (S[i] == '1');
		f &= sim(N, 400);
		puts(f ? "LIVES" : "DIES");
	}
	// for(int k=1; k<=30; k++) {
	// 	int cnt = 0;
	// 	for(int i=0; i<(1<<k); i++) {
	// 		for(int j=0; j<k; j++) A[j+1] = ((i >> j) & 1);
	// 		if(!sim(k, 300)) {
	// 			for(int j=0; j<k; j++) printf("%d", ((i>>j) & 1));
	// 			puts("");
	// 			++cnt;
	// 		}
	// 		if(cnt > 50) break;
	// 	}
	// 	printf("k: %d, cnt: %d\n", k, cnt);
	// }
	return 0;
}

Compilation message

B.cpp: In function 'int main()':
B.cpp:18:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  int T; scanf("%d",&T);
         ~~~~~^~~~~~~~~
B.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf(" %s", S+1);
   ~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 713 ms 904 KB Output isn't correct
4 Halted 0 ms 0 KB -