社区讨论

求助哪错了?60分

P1037[NOIP 2002 普及组] 产生数参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi4f4dsn
此快照首次捕获于
2025/11/18 18:15
4 个月前
此快照最后确认于
2025/11/18 18:15
4 个月前
查看原帖
[codec]
CPP
#include<cstdio>
#include<cstring>
char s[35];
int d[15][15],a[15];
bool b[15];
void fg(int x)
{
    bool bl[15]={0};
    int t1=1,i,j,q[15],hd=1,tl=2;
    q[1]=x;
    bl[x]=1;
    while (hd<tl)
    {
        for (i=1;i<=9;i++)
          if (d[q[hd]][i]&&!bl[i])
          {
              t1++;
              bl[i]=1;
              q[tl++]=i;
          }
        hd++;
    }
    a[x]=t1;
}
int main()
{
    freopen("produce4.in","r",stdin);
    freopen("answer.txt","w",stdout);
    int i,j,n,t=1,x,y;
    scanf("%s",s);
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        scanf("%d%d",&x,&y);
        d[x][y]=1;
    }
    for (i=0;i<strlen(s);i++)
    {
        if (!b[s[i]-'1'+1])
        {
            fg(s[i]-'1'+1);
            b[s[i]-'1'+1]=1;
        }
        t*=a[s[i]-'1'+1];
    }
    printf("%d",t);
}
[/codec]

回复

2 条回复,欢迎继续交流。

正在加载回复...