📄 1926.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1926 on 2005-12-21 at 02:32:08 */
#include <cstdio>
#include <cstring>
const int MAX = 384;
const int N_MAX = 1024;
class HugeInt {
private:
int num[MAX];
public:
void init();
void agr(const int, const int);
void println() const;
};
void HugeInt::init() {
memset(num, 0, sizeof(num));
}
void HugeInt::agr(const int n, const int m) {
int i, j;
for(i = MAX-1; i >= 0; i--) {
num[i] *= 2;
if(i == 0) num[0] += m;
for(j = 0; num[i+j] >= 10; j++) {
num[i+j+1] += num[i+j] / 10;
num[i+j] %= 10;
}
}
}
void HugeInt::println() const {
int i;
bool zero = true;
for(i = MAX-1; i >= 0; i--) {
if(num[i] != 0 || !zero) {
zero = false;
printf("%d", num[i]);
}
}
if(zero) {
putchar('0');
}
putchar('\n');
}
int main()
{
HugeInt hi;
int n, i, byte[N_MAX];
while(scanf("%d", &n) != EOF) {
hi.init();
for(i = 0; i < n; i++) {
scanf("%d", &byte[i]);
}
int r = 0;
for(i = n-1; i >= 0; i--) {
r ^= byte[i];
hi.agr(2, r);
}
hi.println();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -