Submission #1235474

#TimeUsernameProblemLanguageResultExecution timeMemory
1235474santi3223Coins (IOI17_coins)C++20
25 / 100
5 ms584 KiB
#include <bits/stdc++.h> #include "coins.h" using namespace std; #define ll int #define vb vector<bool> #define pb push_back #define ff(aa, bb, cc) for(ll aa = bb; aa < cc; aa++) #define vl vector<ll> #define pll pair<ll, ll> #define fi first #define se second #define ed "\n" #define all(aaa) aaa.begin(), aaa.end() #define rall(aaa) aaa.rbegin(), aaa.rend() ll MOD = 1e9+7; std::vector<int> coin_flips(std::vector<int> b, int c){ if(c <= 2){ string x; ff(i, 0, 3){ x += b[i]+'0'; } if(x == "000" || x == "111"){ return {c}; } if(x == "001"){ if(c == 0){ return {1}; } if(c == 1){ return {0}; } return {63}; } if(x == "010"){ if(c == 0){ return {2}; } if(c == 1){ return {63}; } return {0}; } if(x == "011"){ if(c == 0){ return {63}; } if(c == 1){ return {2}; } return {1}; } if(x == "100"){ if(c == 0){ return {63}; } if(c == 1){ return {2}; } return {1}; } if(x == "101"){ if(c == 0){ return {2}; } if(c == 1){ return {63}; } return {0}; } if(x == "110"){ if(c == 0){ return {1}; } if(c == 1){ return {0}; } return {63}; } } return {1}; } int find_coin(std::vector<int> b){ if(b[0] == b[1] && b[1] != b[2]){ return 2; } if(b[1] == b[2] && b[1] != b[0]){ return 0; } return 1; } /* 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; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...