miércoles, 7 de diciembre de 2011

10176 - Ocean Deep - Make it shallow , uva

#include<iostream>
#include<cstring>
#include<cstdio>
#define mod 131071
#define db(a) cout << #a << " = " << a << endl
#define db2(a, b) cout << #a << " = " << a << " " << #b << " = " << b << endl
using namespace std;
int main() {
	string binario = "", leido;
	while (cin >> leido) {
		int len = leido.size();
		if (leido[len - 1] == '#') {
			int res = 0;
			binario += leido.substr(0, len - 1);
			int total = binario.size();
			int p = 1;
			for (int i = total - 1; i >= 0; i--) {
				res += (binario[i] - '0') * p;
				res %= mod;
				p *= 2;
				p %= mod;
			}
			if (res == 0) puts("YES");
			else puts("NO");
			binario = "";
		}
		else binario += leido;
	}
	return 0;
}

No hay comentarios:

Publicar un comentario