当前位置: 代码迷 >> 综合 >> 2020牛客国庆集训派对day2 H-STROOP EFFECT(英语题)
  详细解决方案

2020牛客国庆集训派对day2 H-STROOP EFFECT(英语题)

热度:18   发布时间:2024-02-25 01:03:20.0

2020牛客国庆集训派对day2 H-STROOP EFFECT(英语题)

题目

https://ac.nowcoder.com/acm/contest/7818/H

题意

这题目真的太难读懂了,赛后我也是看了别人的代码才看懂题目的…
要求是:
对角线的和与非对角线的和相等
非对角线的组合必须关于对角线对称
连续三个的颜色或字不能相同
对角线内部要相等

题解

直接模拟就好

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t, cas = 1;scanf("%d", &t);int cnt[5][5], cnt2[5][5], cnt3[5];while(t--){
    int a, b, ok = 1, temp2 = -1,temp3 = -1;memset(cnt2, 0, sizeof(cnt2));memset(cnt3, 0, sizeof(cnt3));while(1){
    int temp;scanf("%d", &temp);a = temp/10;b = temp%10;if(temp2 != -1&&temp3 !=-1){
    if(temp2/10 == temp/10&&temp2/10 ==temp3/10){
    ok = 0;}else if(temp2%10 == temp%10&&temp2%10 ==temp3%10){
    ok = 0;}}if(a == 0 && b == 0){
    break;}cnt3[a]++;cnt3[b]++;cnt2[a][b]++;if(temp2!=-1)	temp3 = temp2;temp2 = temp;}if(!(cnt2[1][1]==cnt2[2][2]&&cnt2[1][1]==cnt2[3][3]&&cnt2[1][1]==cnt2[4][4]))ok = 0;for(int i=1;i<5;i++)for(int j=i+1;j<5;j++)if(cnt2[i][j]!=cnt2[j][i])ok = 0;if(ok) printf("Case #%d: Stroop\n", cas++);else printf("Case #%d: Not Stroop\n", cas++);}
}
/* 12 11 12 13 21 22 23 31 32 33 11 22 33 00 42 14 34 11 11 11 13 33 41 23 22 21 22 31 44 32 33 12 44 22 44 43 24 33 00 */
  相关解决方案