zoukankan      html  css  js  c++  java
  • 【BZOJ1923】[Sdoi2010]外星千足虫 高斯消元

    【BZOJ1923】[Sdoi2010]外星千足虫

    Description

    Input

    第一行是两个正整数 N, M。 接下来 M行,按顺序给出 Charles 这M次使用“点足机”的统计结果。每行 包含一个“01”串和一个数字,用一个空格隔开。“01”串按位依次表示每只虫 子是否被放入机器:如果第 i 个字符是“0”则代表编号为 i 的虫子未被放入,“1” 则代表已被放入。后面跟的数字是统计的昆虫足数 mod 2 的结果。 由于 NASA的实验机器精确无误,保证前后数据不会自相矛盾。即给定数据 一定有解。

    Output

    在给定数据存在唯一解时有 N+1行,第一行输出一个不 超过M的正整数K,表明在第K 次统计结束后就可以确定唯一解;接下来 N 行 依次回答每只千足虫的身份,若是奇数条足则输出“?y7M#”(火星文),偶数 条足输出“Earth”。如果输入数据存在多解,输出“Cannot Determine”。 所有输出均不含引号,输出时请注意大小写。

    Sample Input

    3 5
    011 1
    110 1
    101 0
    111 1
    010 1

    Sample Output

    4
    Earth
    ?y7M#
    Earth

    HINT

    对于 20%的数据,满足 N=M≤20; 
    对于 40%的数据,满足 N=M≤500; 
    对于 70%的数据,满足 N≤500,M≤1,000; 
    对于 100%的数据,满足 N≤1,000,M≤2,000。 
    ==========================================================
    请不要提交!

    题解:请不要提交是什么鬼~

    简洁的题意:一堆未知数,值为0或1,已知某些数的异或和,问至少在给出几个条件后能确定整个序列

    高斯消元搞一搞~

    #include <cstdio>
    #include <iostream>
    #include <bitset>
    using namespace std;
    int n,m,ans;
    bitset<2010> v[2010];
    char str[2010];
    int main()
    {
    	scanf("%d%d",&n,&m);
    	int i,j,k;
    	for(i=1;i<=m;i++)
    	{
    		scanf("%s",str+1);
    		for(j=1;j<=n;j++)	if(str[j]=='1')	v[i][j]=1;
    		scanf("%d",&k);
    		v[i][n+1]=k;
    	}
    	k=0;
    	for(i=1;i<=n;i++)
    	{
    		for(j=i;j<=m;j++)	if(v[j][i])
    		{
    			ans=max(ans,j),swap(v[j],v[i]);
    			break;
    		}
    		if(!v[i][i])
    		{
    			printf("Cannot Determine
    ");
    			return 0;
    		}
    		for(j=i+1;j<=m;j++)	if(v[j][i])	v[j]^=v[i];
    	}
    	printf("%d
    ",ans);
    	for(i=1;i<=n;i++)
    	{
    		for(j=i+1;j<=n;j++)	if(v[i][j])	v[i]^=v[j];
    		if(v[i][n+1])	printf("?y7M#
    ");
    		else	printf("Earth
    ");
    	}
    	return 0;
    }
  • 相关阅读:
    SharePoint 2013 配置基于表单的身份认证
    SharePoint 2013 场解决方案包含第三方程序集
    SharePoint 2010 站点附加数据升级到SP2013
    SharePoint 2013 在母版页中插入WebPart
    SharePoint 2013 搭建负载均衡(NLB)
    SharePoint 部署解决方案Feature ID冲突
    SharePoint 2013 配置基于AD的Form认证
    SharePoint Server 2016 Update
    SharePoint 2013 为用户组自定义EventReceiver
    SharePoint 2013 JavaScript API 记录
  • 原文地址:https://www.cnblogs.com/CQzhangyu/p/7044329.html
Copyright © 2011-2022 走看看