BZOJ대시야1059: [ZJOI2007] 매트릭스 게임 문제풀이 보고서
code:
/**************************************************************
Problem: 1059
Language: C++
Result: Accepted
Time:316 ms
Memory:1744 kb
****************************************************************/
// Forever_LF
#include
#include
#include
using
namespace
std;
struct
node
{
int
x,y,next;
}a[40001];
int
len,first[201];
int
L[201];
bool
ev[201];
void
ins(
int
x,
int
y )
{
len++;
a[len].x=x; a[len].y=y;
a[len].next = first[x]; first[x] = len;
}
bool
ex(
int
x )
{
for
(
int
k=first[x];k;k=a[k].next )
{
int
y=a[k].y;
if
( ev[y] )
continue
;
ev[y] =
true
;
if
( !L[y] || ex( L[y] ) )
{
L[y] = x;
return
true
;
}
}
return
false
;
}
int
main()
{
int
n,m,t,i,j,l;
bool
v;
scanf
(
"%d"
,&m);
while
( m-- )
{
memset
( first,0,
sizeof
first );
memset
( L,0,
sizeof
L );
len = 0; v =
true
;
scanf
(
"%d"
,&n);
for
( i=1;i<=n;i++ )
for
( j=1;j<=n;j++ )
{
scanf
(
"%d"
,&l);
if
( l ) ins( i,j );
}
for
( i=1;i<=n;i++ )
{
memset
( ev,
false
,
sizeof
ev );
if
( !ex( i ) )
{
v =
false
;
break
;
}
}
if
( v )
printf
(
"Yes
"
);
else
printf
(
"No
"
);
}
return
0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
BZOJ1864 [Zjoi2006] 트리플 트리 DP트리 DP 입문 문제로 여러 갈래 나무가 두 갈래 나무를 돌릴 필요가 없다. f(i, j)로 i번째 노드가 j색을 칠할 때 하위 트리의 정점은 녹색이 가장 많은 개수를 나타내고 fs(i, j)는 가장 적은 개수를 나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.