首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

hdu1068,一直wa,测试的数据对的,请大家伙儿帮忙看看

2012-08-30 
hdu1068,一直wa,测试的数据对的,请大家帮忙看看#includeiostreamusing namespace stdint g[1005][1005]

hdu1068,一直wa,测试的数据对的,请大家帮忙看看
#include<iostream>
using namespace std;

int g[1005][1005];
int match[1005],used[1005];
int n;

int dfs(int i)
{
  int j;
  for(j=0;j<n;j++)
  {
  if(!used[j]&&g[i][j]==1)
  {
  used[j]=1;
  if(match[j]==-1||dfs(match[i]))
  {
  match[j]=i;
  return 1;
  }
  }
  }
  return 0;
}
int bis()
{
  int res=0;
  memset(match,-1,sizeof(match));
  for(int i=0;i<n;i++)
  {
  memset(used,0,sizeof(used));
  if(dfs(i))res++;
  }
  return res;
}

int main()
{ int m,i,j,k,a;
  while(scanf("%d",&n)!=EOF)
  {
  memset(g,0,sizeof(g));
  for(i=0;i<n;i++)
  {
  scanf("%d: (%d)",&m,&k);
  for(j=0;j<k;j++)
  {
  scanf("%d",&a);
  if(a>m)
  g[m][a]=1;
  }
  }
  printf("%d\n",n-bis());
  }
  return 0;
}


[解决办法]
我不是要设计一个与原样例相同的输入,而是导出新的测试用例:
3
2: (2) 1 0
1: (1) 0
0: (1) 0

3
0: (1) 0
1: (1) 0
2: (2) 1 0
如果你认为以上输入是合法的,那就请试一下吧。

热点排行