不知為何RE...
沒超出題目存取範圍也會segment fault..
是不是題目大小有錯?
附上code
#include <stdio.h>
#include <string.h>
int n,m;
char vi[801];
int u[10001],v[10001];
int main(void) {
int i,j,a,b;
while (scanf("%d%d",&n,&m)!=EOF) {
for (i = 0;i < m;i++)scanf("%d%d",&u[i],&v[i]);
for (i = 1;i <= n;i++)vi[i] = 0;
scanf("%d%d",&a,&b);
vi[a] = 1;
for (i = 0;i < n;i++)
for (j = 0;j < m;j++)
vi[v[j]]|=vi[u[j]];
if (vi[b])
puts("Yes!!!");
else
puts("No!!!");
}
return 0;
}
不知為何RE...
沒超出題目存取範圍也會segment fault..
是不是題目大小有錯?
附上code
#include
#include
int n,m;
char vi[801];
int u[10001],v[10001];
int main(void) {
int i,j,a,b;
while (scanf("%d%d",&n,&m)!=EOF) {
for (i = 0;i < m;i++)scanf("%d%d",&u[i],&v[i]);
for (i = 1;i <= n;i++)vi[i] = 0;
scanf("%d%d",&a,&b);
vi[a] = 1;
for (i = 0;i < n;i++)
for (j = 0;j < m;j++)
vi[v[j]]|=vi[u[j]];
if (vi[b])
puts("Yes!!!");
else
puts("No!!!");
}
return 0;
}
果然是題目的輸入說明的問題
m <=10000 好婊人阿...
m的大小根本不只10000 ....
希望出題者可以更正一下輸入說明
不要誤導了解題的人...