记录编号 524417 评测结果 AAAAAAAAAA
题目名称 [ZJOI 2009] 假期的宿舍 最终得分 100
用户昵称 GravatarHale 是否通过 通过
代码语言 C++ 运行时间 0.040 s
提交时间 2018-11-27 19:51:44 内存使用 0.52 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int m,n,k,l,p,q,ans;
int q1[10001],q2[10001];
int a[10001],b[10001],match[10001],lt[51][51];
bool use[1001];
bool xyl(int pos)
{ for (int i=1;i<=n;i++)
  { if (lt[pos][i]&&!use[i]&&a[i]==1)
    { use[i]=true;
      if (!match[i]||xyl(match[i]))
       { match[i]=pos;
        return true;
	   }
	}
  }
  return false;
}
bool work()
{for(int i=1;i<=n;i++)
 { memset(use,0,sizeof(use));
   if((a[i]==0||b[i]==0) && (xyl(i)==false))return true;}
  return false;
}
int main()
{ freopen("zjoi09holiday.in","r",stdin);
  freopen("zjoi09holiday.out","w",stdout);
  int t;
  scanf("%d",&t);
  while (t--)
  { scanf("%d",&n);
    memset(match,0,sizeof(match));
    for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) lt[i][j]=false;
    q=0;p=0;ans=0;
    for (int i=1;i<=n;i++)scanf("%d",&a[i]);
    for (int i=1;i<=n;i++){scanf("%d",&b[i]);if (a[i]==0) b[i]==1;}
    for (int i=1;i<=n;i++)
    { for (int j=1;j<=n;j++)
     { int x;scanf("%d",&x);
       if (x==1) lt[i][j]=true;} 
       if (a[i]==1) lt[i][i]=true;
	 }
	ans=0;
	if (work()==true) printf("T_T\n");
	else printf("^_^\n"); 
  }
  return 0;
}