栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2345 Central heating

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2345 Central heating

#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;#define print(x) cout<<x<<endl#define input(x) cin>>x#define SIZE 256int mat[SIZE][SIZE];int ans[SIZE];int n;int main(){    while(input(n))    {        memset(mat,0,sizeof(mat));        memset(ans,0,sizeof(ans));        int t;        for(int i=1;i<=n;i++)        { while(input(t) && t!=-1) {     mat[t][i]=1; } mat[i][n+1]=1;        }        for(int i=1;i<=n;i++)        { int pos=-1; for(int j=i;j<=n;j++) {     if(mat[j][i]){pos=j;break;} } for(int j=i;j<=n+1;j++) {     swap(mat[i][j],mat[pos][j]); } for(int j=i+1;j<=n;j++) {     if(mat[j][i]==1)     {         for(int k=i;k<=n+1;k++)         {  mat[j][k]^=mat[i][k];         }     } }        }        for(int i=n;i>=1;i--)        { ans[i]=mat[i][n+1]; for(int j=i-1;j>=1;j--) {     mat[j][n+1]^=(ans[i]*mat[j][i]); }        }        bool flag=true;        for(int i=1;i<=n;i++)        { if(ans[i]) {     if(flag)     {         printf("%d",i);         flag=false;     }     else printf(" %d",i); }        }        if(flag) puts("No solution");        else puts("");    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号