제출 #832000

#제출 시각아이디문제언어결과실행 시간메모리
832000RifalData Transfer (IOI19_transfer)C++14
0 / 100
5 ms2504 KiB
#include <bits/stdc++.h> #include "transfer.h" using namespace std; vector<int> get_attachment(vector<int> source) { vector<int> v, vv; int sum = 0, sum2 = 0; for(int i = 0; i < source.size(); i++) { /// v.push_back(source[i]); if(source[i] == 1) { sum ^= (i + 1 ); } } int cnt2 = 0; for(int i = 0; i < 9; i++) { if((sum&(1<<i)) > 0) { vv.push_back(1); } else { vv.push_back(0); } } for(int i = 0; i < vv.size(); i++) { /// v.push_back(source[i]); if(vv[i] == 1) { sum2 ^= (i + 1 ); } } for(int i = 0; i < 8; i++) { if((sum2&(1<<i)) > 0) { v.push_back(1); cnt2++; } else { v.push_back(0); } } if(cnt2%2 == 0) v.push_back(0); else v.push_back(1); /* cout << cnt2 << endl; for(int i = 0; i < v.size(); i++) { cout << v[i] << ' '; } cout << endl;*/ return v; } vector<int> retrieve(vector<int> data) { vector<int> v, vv; int siz = data.size(); int a = 0, b = 0, c = 0, cnt = 0; for(int i = 0; i < siz-9; i++) { v.push_back(data[i]); if(data[i] == 1) a ^= (i+1); } for(int i = 0; i < 9; i++) { if((a&(1<<i)) > 0) { vv.push_back(1); } else { vv.push_back(0); } } for(int i = 0; i < vv.size(); i++) { /// v.push_back(source[i]); if(vv[i] == 1) { c ^= (i + 1); } } for(int i = siz-9; i < siz-2; i++) { if(data[i] == 1) { b += (1<<(i-(siz-9))); cnt++; } } /* cout << a << ' ' << b << ' ' << c << endl; for(int i = 0; i < v.size(); i++) { cout << v[i] << ' '; } cout << endl; cout << "JJJJJJJJJJJJJJ" << endl; for(int i = 0; i < vv.size(); i++) { cout << vv[i] << ' '; } cout << endl; cout << cnt << ' ' << data[siz-1] << endl;*/ if(cnt%2 != data[siz-1]) return v; if(b == c) return v; int x = a ^(1<<((b^c)-1)); v[(a^x)-1] ^= 1; return v; }

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

transfer.cpp: In function 'std::vector<int> get_attachment(std::vector<int>)':
transfer.cpp:7:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     for(int i = 0; i < source.size(); i++) {
      |                    ~~^~~~~~~~~~~~~~~
transfer.cpp:20:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i = 0; i < vv.size(); i++) {
      |                    ~~^~~~~~~~~~~
transfer.cpp: In function 'std::vector<int> retrieve(std::vector<int>)':
transfer.cpp:57:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(int i = 0; i < vv.size(); i++) {
      |                    ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...