首页 > 其他 > 详细

bzoj 1923: [Sdoi2010]外星千足虫【高斯消元】

时间:2018-09-06 15:34:10      阅读:190      评论:0      收藏:0      [点我收藏+]

裸的异或高斯消元

#include<iostream>
#include<cstdio>
using namespace std;
const int N=2005;
int n,m,a[N][N],ans;
char s[N];
void gaosi()
{
    for(int i=1;i<=n;i++)
    {
        int nw=i;
        while(!a[nw][i]&&nw<=m)
            nw++;
        if(nw==m+1)
        {
            ans=-1;
            return;
        }
        ans=max(ans,nw);
        if(nw!=i)
            for(int j=1;j<=n+1;j++)
                swap(a[i][j],a[nw][j]);
        for(int j=1;j<=m;j++)
            if(i!=j&&a[j][i])
                for(int k=i;k<=n+1;k++)
                    a[j][k]^=a[i][k];
    }
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        scanf("%s%d",s+1,&a[i][n+1]);
        for(int j=1;j<=n;j++)
            a[i][j]=s[j]-‘0‘;
    }
    gaosi();
    if(ans==-1)
    {
        puts("Cannot Determine");
        return 0;
    }
    printf("%d\n",ans);
    for(int i=1;i<=n;i++)
        a[i][n+1]==1?puts("?y7M#"):puts("Earth");
    return 0;
}

bzoj 1923: [Sdoi2010]外星千足虫【高斯消元】

原文:https://www.cnblogs.com/lokiii/p/9598328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!