您的位置:首页 > 编程语言 > C语言/C++

bnu1298 BNUEP的火炬手 C语言版

2008-12-29 22:19 225 查看
北京师范大学珠海分校
Judge Online of ACM ICPC
1298 BNUEP的火炬手
C语言版
#include <stdio.h>

int main(){
    int i,j,k,w,n,t,m,x,l,r,a[20001],b[20001][7],c[20001];
    scanf("%d",&m);
    while(m--){
        scanf("%d%d%d",&w,&n,&t);
        for(i=1;i<=n;i++) c[i]=0;
        for(i=1;i<=t;i++){
            scanf("%d",&a[i]);
            c[a[i]]=1;
        }
        for(i=1;i<=n;i++)
            for(j=1;j<=w;j++) scanf("%d",&b[i][j]);
        if(t==0){
            printf("0/n");
            continue;
        }
        l=1;
        r=t;
        for(i=1;i<=w;i++){
            for(j=l;j<=t;j++)
                for(k=1;k<=w-i+1;k++){
                    x=b[a[j]][k];
                    if(c[x]==0){
                        c[x]=1;
                        a[++r]=x;
                    }
                }
            l=t;
            t=r;
        }
        printf("%d/n",r);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c