zoukankan      html  css  js  c++  java
  • uva 12284 直接判断

    思路:见代码

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    #define Maxn 110
    using namespace std;
    int a[Maxn][Maxn],b[Maxn][Maxn],n,k;
    bool equel()
    {
        int i,j;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(a[i][j]!=b[i][j])
                    return false;
            }
        }
        return true;
    }
    bool symmic()
    {
        int i,j,cnt=0;
        for(i=1;i<=n;i++){
            for(j=1;j<i;j++){
                if(a[i][j]!=b[j][i]&&i!=j)
                    return false;
                if((a[i][j]!=b[i][j]||a[j][i]!=b[j][i])&&b[j][i]!=b[i][j]){
                        cnt++;
                }
            }
        }
        if(cnt>1) return false;
        return true;
    }
    bool bb()
    {
        int i,j;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(b[i][j]!=b[j][i])
                    return false;
            }
        }
        return true;
    }
    bool aa()
    {
        int i,j;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(a[i][j]!=a[j][i])
                    return false;
            }
        }
        return true;
    }
    int getnum()
    {
        int i,j,num=0;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                if(a[i][j]!=b[i][j])
                    num++;
            }
        }
        return num;
    }
    int main()
    {
        int t,i,j,Ca=0;
        scanf("%d",&t);
        while(t--){
            scanf("%d%d",&n,&k);
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++)
                    scanf("%d",&a[i][j]);
            }
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++)
                    scanf("%d",&b[i][j]);
            }
            printf("Case %d: ",++Ca);
            if(equel()){
                printf("0
    ");
                continue;
            }
            if(bb()){
                printf("-1
    ");
                continue;
            }
            int ans;
            ans=getnum();
            if(symmic()){
                if(k<=2&&n<=2){
                    printf("-1
    ");
                    continue;
                }
                if(k==2)
                printf("%d
    ",ans+2);
                else
                    printf("%d
    ",ans+1);
                continue;
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    H5学习的第三周
    2017.3.12 H5学习的第一周
    js中比较实用的函数用法
    JS学习中遇到的一些题目
    H5学习第四周
    idea快捷键
    中国国内可用API合集
    ssm整合 idea+maven版
    Dubbo的使用及原理浅析
    $.extend 和$.fn.extend的区别
  • 原文地址:https://www.cnblogs.com/wangfang20/p/3352414.html
Copyright © 2011-2022 走看看