2103.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 24 行

CPP
24
字号
/*  This Code is Submitted by wywcgs for Problem 2103 on 2006-03-15 at 21:06:31 */ 
#include <cstdio>
#include <algorithm>
using namespace std;

const int MAX = 102400;

int main()
{
	long long i, p;
	bool bit[MAX];

	while(scanf("%lld", &p) != EOF && p != 0) {
		memset(bit, false, sizeof(bit)); int on = 0;
		for(i = 1; i < p; i++)
			if(!bit[(i*i-1)%p]) { bit[(i*i-1)%p] = true; on++; }
		if(on != (p-1)/2) printf("Impossible");
		else for(i = 0; i < p-1; i++) putchar(bit[i] ? '0' : '1');
		putchar('\n');
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?