Submission #1304129
Source Code Expand
#include <iostream> #include<sstream> #include<vector> #include<iterator> #include<algorithm> #include<queue> using namespace std; #define YES "YES" #define NO "NO" int main(void) { int N; cin >> N; vector<int> NG(3, 0); for(auto it=NG.begin(); it!=NG.end(); it++) cin >> *it; if(find(NG.begin(), NG.end(), N) != NG.end()) { cout << NO << endl; return 0; } queue<int> que1, que2; queue<int> *prev, *next; prev = &que1; next = &que2; // seed next->push(N); vector<bool> table(301, true); table[N] = false; for(auto it=NG.begin(); it!=NG.end(); it++) table[*it] = false; int cnt = 0; bool success = false; const int movement[3] = {-1, -2, -3}; while(next->empty() != true) { cnt++; swap(prev, next); while(prev->empty() != true) { int pre = prev->front(); prev->pop(); for(auto it=begin(movement); it!=end(movement); it++) { int state = pre + *it; if(state < 0) continue; else if(table[state] == false) continue; if(state == 0) { success = true; *prev, queue<int>().swap(*prev); queue<int>().swap(*next); break; } next->push(state); table[state] = false; } } if(cnt == 100) break; } if(success == true && cnt <= 100) cout << YES << endl; else cout << NO << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 123引き算 |
User | callman |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1401 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | sample_01.txt, sample_02.txt, sample_03.txt, test_143_142_141_140.txt, test_1_1_2_3.txt, test_1_2_3_4.txt, test_200_200_2_3.txt, test_231_77_78_80.txt, test_235_124_126_125.txt, test_253_45_47_48.txt, test_297_223_224_225.txt, test_297_294_292_290.txt, test_297_297_30_83.txt, test_297_3_43_72.txt, test_298_125_123_124.txt, test_298_293_295_291.txt, test_298_298_4_8.txt, test_298_36_72_98.txt, test_298_55_3_43.txt, test_298_92_91_295.txt, test_299_200_151_65.txt, test_299_240_35_154.txt, test_299_300_299_298.txt, test_299_33_242_151.txt, test_299_56_57_58.txt, test_299_66_132_198.txt, test_300_271_44_68.txt, test_300_299_298_296.txt, test_300_30_99_183.txt, test_300_4_5_6.txt, test_84_34_64_36.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
test_143_142_141_140.txt | AC | 1 ms | 256 KB |
test_1_1_2_3.txt | AC | 1 ms | 256 KB |
test_1_2_3_4.txt | AC | 1 ms | 256 KB |
test_200_200_2_3.txt | AC | 1 ms | 256 KB |
test_231_77_78_80.txt | AC | 1 ms | 256 KB |
test_235_124_126_125.txt | AC | 1 ms | 256 KB |
test_253_45_47_48.txt | AC | 1 ms | 256 KB |
test_297_223_224_225.txt | AC | 1 ms | 256 KB |
test_297_294_292_290.txt | AC | 1 ms | 256 KB |
test_297_297_30_83.txt | AC | 1 ms | 256 KB |
test_297_3_43_72.txt | AC | 1 ms | 256 KB |
test_298_125_123_124.txt | AC | 1 ms | 256 KB |
test_298_293_295_291.txt | AC | 1 ms | 256 KB |
test_298_298_4_8.txt | AC | 1 ms | 256 KB |
test_298_36_72_98.txt | AC | 1 ms | 256 KB |
test_298_55_3_43.txt | AC | 1 ms | 256 KB |
test_298_92_91_295.txt | AC | 1 ms | 256 KB |
test_299_200_151_65.txt | AC | 1 ms | 256 KB |
test_299_240_35_154.txt | AC | 1 ms | 256 KB |
test_299_300_299_298.txt | AC | 1 ms | 256 KB |
test_299_33_242_151.txt | AC | 1 ms | 256 KB |
test_299_56_57_58.txt | AC | 1 ms | 256 KB |
test_299_66_132_198.txt | AC | 1 ms | 256 KB |
test_300_271_44_68.txt | AC | 1 ms | 256 KB |
test_300_299_298_296.txt | AC | 1 ms | 256 KB |
test_300_30_99_183.txt | AC | 1 ms | 256 KB |
test_300_4_5_6.txt | AC | 1 ms | 256 KB |
test_84_34_64_36.txt | AC | 1 ms | 256 KB |