A0464 R23 T4 0!!!

#include  <bits/stdc++.h>
using namespace std;
int a[100][100],sum=0,tue=0,st1[3],st2[3],st3[3],st4[3],t=0;
int main(){
    for(int i=1;i<=4;i++){
        sum=0;
        for(int j=1;j<=4;j++){
            cin>>a[i][j];
            t=a[i][j]-1;
            if(i<=2 && j<=2){
                if(a[i][j]==1 && st1[t]==0){
                    st1[t]++;
                    sum++;
                }
                else if(a[i][j]==2 && st1[t]==0){
                    st1[t]++;
                    sum++;
                }
                else if(a[i][j]==3 && st1[t]==0){
                    st1[t]++;
                    sum++;
                }
                else if(a[i][j]==4 && st1[t]==0){
                    st1[t]++;
                    sum++;
                }
                else{
                    cout<<"no";
                    return 0;
                }
            }
            if(i<=2 && j>=3){
                if(a[i][j]==1 && st2[t]==0){
                    st2[t]++;
                    sum++;
                }
                else if(a[i][j]==2 && st2[t]==0){
                    st2[t]++;
                    sum++;
                }
                else if(a[i][j]==3 && st2[t]==0){
                    st2[t]++;
                    sum++;
                }
                else if(a[i][j]==4 && st2[t]==0){
                    st2[t]++;
                    sum++;
                }
                else{
                    cout<<"no";
                    return 0;
                }
            }
            if(i>=3 && j<=2){
                if(a[i][j]==1 && st3[t]==0){
                    st3[t]++;
                    sum++;
                }
                else if(a[i][j]==2 && st3[t]==0){
                    st3[t]++;
                    sum++;
                }
                else if(a[i][j]==3 && st3[t]==0){
                    st3[t]++;
                    sum++;
                }
                else if(a[i][j]==4 && st3[t]==0){
                    st3[t]++;
                    sum++;
                }
                else{
                    cout<<"no";
                    return 0;
                }
            }
            if(i>=3 && j>=3){
                if(a[i][j]==1 && st4[t]==0){
                    st4[t]++;
                    sum++;
                }
                else if(a[i][j]==2 && st4[t]==0){
                    st4[t]++;
                    sum++;
                }
                else if(a[i][j]==3 && st4[t]==0){
                    st4[t]++;
                    sum++;
                }
                else if(a[i][j]==4 && st4[t]==0){
                    st4[t]++;
                    sum++;
                }
                else{
                    cout<<"no";
                    return 0;
                }
            }   
        }
    }
    if(sum==16){
        cout<<"yes";
    }
    return 0;
}

2 条评论

  • @ 2024-7-19 16:42:07
    #include <bits/stdc++.h>
    using namespace std;
    bool ku(vector<vector<int>> &grid) {
      
        for (int i = 0; i < 4; i++) {
            vector<int> ro = grid[i];
            sort(ro.begin(), ro.end());
            if (ro != vector<int>{1, 2, 3, 4}) {
                return false;
            }
    
            vector<int> co;
            for (int j = 0; j < 4; j++) {
                co.push_back(grid[j][i]);
            }
            sort(co.begin(), co.end());
            if (co != vector<int>{1, 2, 3, 4}) {
                return false;
            }
        }
    
       
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                vector<int>d;
                for (int x = i * 2; x < i * 2 + 2; x++) {
                    for (int y = j * 2; y < j * 2 + 2; y++) {
                        d.push_back(grid[x][y]);
                    }
                }
                sort(d.begin(), d.end());
                if (d != vector<int>{1, 2, 3, 4}) {
                    return false;
                }
            }
        }
    
        return true;
    }
    
    int main() {
        vector<vector<int>> grid(4, vector<int>(4));
    
      
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                cin >> grid[i][j];
            }
        }
        if (ku(grid)) {
            cout << "yes" << endl;
        } else {
            cout << "no" << endl;
        }
    
        return 0;
    }
    
  • @ 2024-7-18 20:31:39
    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    int a[4][4];
    bool c(int a,int b,int c,int d){
        int t[5]={0,0,0,0,0};
        t[a]=1;t[b]=1;t[c]=1;t[d]=1;
        for(int i=1;i<=4;i++){
            if(!t[i]) return 0;
        }
        return 1;
    }
    signed main(){
        for(int i=1;i<=4;i++){
            for(int j=1;j<=4;j++){
                cin>>a[i][j];
            }
        }
        if(c(a[1][1],a[1][2],a[1][3],a[1][4])&& c(a[2][1],a[2][2],a[2][3],a[2][4])&& c(a[3][1],a[3][2],a[3][3],a[3][4])&& c(a[4][1],a[4][2],a[4][3],a[4][4])&& c(a[1][1],a[2][1],a[3][1],a[4][1])&& c(a[1][2],a[2][2],a[3][2],a[4][2])&& c(a[1][3],a[2][3],a[3][3],a[4][3])&& c(a[1][4],a[2][4],a[3][4],a[4][4])&& c(a[1][1],a[1][2],a[2][1],a[2][2])&& c(a[1][3],a[1][4],a[2][3],a[2][4])&& c(a[3][1],a[3][2],a[4][1],a[4][2])&& c(a[3][3],a[3][4],a[4][3],a[4][4]))
            cout<<"yes";
        else cout<<"no";
        return 0;
    }
    
  • 1

信息

ID
10589
时间
1000ms
内存
256MiB
难度
3
标签
递交数
116
已通过
65
上传者