제출 #1219194

#제출 시각아이디문제언어결과실행 시간메모리
1219194LM1Coins (IOI17_coins)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define pb push_back
#define vi vector<int>
#define fr(i,ii,iii) for(int i=ii;i<iii;i++)
#include "coins.h"
using namespace std;
vi coin_flips(vi b,int c){
	vi v;
    int x=c;
    fr(i,0,b.size())if(b[i])x^=i;
	v.pb(x);
	return v;
}
int find_coin(vi b){
    int ans=0;
    fr(i,0,b.size())if(b[i])ans^=i;
	return ans;
}

static string run_test() {
	int c;
	cin >> c;
	vector<int> b(64);
	for (int i = 0; i < 8; i++) {
		string s;
		cin >> s;
		for (int j = 0; j < 8; j++) {
			b[i * 8 + j] = int(s[j] - '0');
		}
	}
	vector<int> flips = coin_flips(b, c);
	if ((int)flips.size() == 0) {
		return "0 turn overs";
	}
	for (int i = 0; i < (int)flips.size(); i++) {
		if (flips[i] < 0 || flips[i] > 63) {
			return "cell number out of range";
		}
		b[flips[i]] = 1 - b[flips[i]];
	}
	int coin = find_coin(b);
	if (coin != c) {
		return "wrong coin";
	}
	return "ok";
}

int main() {
	int tests;
	cin >> tests;
	for (int t = 1; t <= tests; t++) {
		string result = run_test();
		cout << "test #" << t << ": " << result << endl;
	}
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

coins.cpp: In function 'std::string run_test()':
coins.cpp:2:13: error: expected primary-expression before 'long'
    2 | #define int long long
      |             ^~~~
coins.cpp:32:40: note: in expansion of macro 'int'
   32 |                         b[i * 8 + j] = int(s[j] - '0');
      |                                        ^~~
At global scope:
cc1plus: error: '::main' must return 'int'