結果
問題 |
No.3171 Color Restoration
|
ユーザー |
![]() |
提出日時 | 2025-06-23 14:59:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,894 bytes |
コンパイル時間 | 2,468 ms |
コンパイル使用メモリ | 210,920 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-06-23 14:59:50 |
合計ジャッジ時間 | 4,027 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 9 |
ソースコード
#include <bits/stdc++.h> using namespace std; string ja(unordered_set<string> s, string l, string r){ string j = "00"; for(auto & e : s){ if(e == l || e == r) continue; else j = e; } return j; } bool so(){ unordered_set<string> a = {"gray","brown","green","cyan","blue","yellow","orange","red"}; unordered_set<string> b = {"gray","green","blue","yellow","red"}; unordered_set<string> c = {"gray","green","cyan","blue","violet","orange","red"}; string br ="brown", vi = "violet", z = "00"; unordered_set<string> s; for(int i = 0; i < 3; ++i){ string x; cin >> x; s.insert(x); } if(s.size() == 1) return true; if(s.count(br)){ if(s.count("yellow")){ string j = ja(s, br, "yellow"); if(j == z) return false; else return true; }else if(s.count("cyan")){ string j = ja(s, br, "cyan"); if(j == z || j == "orange" || j == vi) return false; else return true; }else if(s.count("orange")){ string j = ja(s, br, "orange"); if(j == z || j == "cyan" || j == vi) return false; else return true; }else if(s.count(vi)){ string j = ja(s, br, vi); if(j == z || j == "cyan" || j == "orange") return false; else return true; } }else if(s.count(vi)){ if(s.count("orange")){ string j = ja(s, vi, "orange"); if(j == z || j == "cyan" || j == br) return false; else return true; }else if(s.count("cyan")){ string j = ja(s, vi, "cyan"); if(j == z || j == br || j == "orange") return false; else return true; }else if(s.count(br)){ string j = ja(s, vi, br); if(j == z || j == "cyan" || j == "orange") return false; else return true; } } return false; } int main(){ ios::sync_with_stdio(false); cin.tie(0); bool bl = so(); if(bl) cout << "Yes" << '\n'; else cout << "No" << '\n'; return 0; }