Codeforces Round #444 (Div. 2) C.Solution for Cube 模拟
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #444 (Div. 2) C.Solution for Cube 模拟
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
向題解低頭,向大佬低頭(。﹏。)orz……模擬也不能亂模啊……要好好分析題意,簡化簡化再簡化orz敲黑板
六個面的魔方,能一步還原的情況一定是只有2個面是單色,其余四個面,每個面2種顏色,而且不會出現任意兩面的兩種顏色均相同的情況。
? ?? 如果每個面的顏色>2,肯定沒有辦法一步還原,這里每輸入一個面用set計數,size=1的話記錄一下單色面的面數f,size=2的話判斷一下是否存在兩個面的兩種顏色均相同的情況,size>2當然就肯定不能一步還原啦,直接NO;
? ?? 如果單色面的面數>2,也是不能一步還原的……emmmm條件有些亂……感覺……就……一點一點湊……
#include<iostream> #include<string.h> #include<set> using namespace std; int c[7][7]; int a; int main() {int f = 0;for (int i = 0; i < 6; i++){set<int>s;for (int j = 0; j < 4; j++){cin >> a;s.insert(a);}if (s.size() == 1)f++;else if (s.size() == 2){int n[2];int j = 0;for (auto it : s) //emmm不太會用set……直接c[*s.begin()][*s.end()]的時候編譯錯誤……有米有大佬給講一講哇n[j++] = it;c[n[0]][n[1]]++;if (c[n[0]][n[1]] > 1){cout << "NO" << endl;return 0;}}else{cout << "NO" << endl;return 0;}}if (f == 2)cout << "YES" << endl;else cout << "NO" << endl;return 0; }?
轉載于:https://www.cnblogs.com/Egoist-/p/7795039.html
總結
以上是生活随笔為你收集整理的Codeforces Round #444 (Div. 2) C.Solution for Cube 模拟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建Maven私服那点事
- 下一篇: deeplearning.ai 改善深层