• bzoj 1923: [Sdoi2010]外星千足虫


     1 #include<cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 int n,m,a[2009][2009],st=1;
     5 char ch[6009];
     6 bool gao(int a1)
     7 {
     8     for(int i=st;i<=a1;i++)
     9       {
    10         int k;
    11         for(k=i;k<=a1;k++)
    12           if(a[k][i])
    13             break;
    14         if(k==a1+1)
    15           {
    16             st=i;
    17             return 0;
    18           }
    19         for(int j=1;j<=n+1;j++)
    20           swap(a[i][j],a[k][j]);
    21         k=a[i][i];
    22         for(int j=1;j<=m;j++)
    23           if(i!=j&&a[j][i])
    24             {
    25               k=a[j][i];
    26               for(int l=1;l<=n+1;l++)
    27               a[j][l]=(a[j][l]-a[i][l]*k+2)%2;
    28             }
    29         if(i==n)
    30           return 1;
    31       }
    32 }
    33 int main()
    34 {
    35     scanf("%d%d",&n,&m);
    36     for(int i=1;i<=m;i++)
    37       {
    38         scanf("%s",ch+1);
    39         for(int j=1;j<=n;j++)
    40            a[i][j]=ch[j]-'0';
    41         scanf("%d",&a[i][n+1]);
    42       }
    43     for(int i=n;i<=m;i++)
    44       if(gao(i))
    45         {
    46             printf("%d
    ",i);
    47             for(int i=1;i<=n;i++)
    48               if(a[i][n+1]%2)
    49                 printf("?y7M#
    ");
    50               else
    51                 printf("Earth
    ");
    52             return 0;
    53         }
    54     printf("Cannot Determine
    ");
    55     return 0;
    56 }

    据题目可知就是解方程,所以高斯消元法

  • 相关阅读:
    java 环境变量配置
    框架分成介绍
    Net 新特性
    一 设计模式六大原则
    web api 配置
    Visual Studio检查内存泄露方法
    深度比较对象的不同
    reportview 安装使用
    Nuget 常用命令
    freeswitch学习笔记
  • 原文地址:https://www.cnblogs.com/xydddd/p/5290268.html
Copyright © 2020-2023  润新知