全WA求助
查看原帖
全WA求助
602932
NumberTrart楼主2023/1/12 16:39

tell

me

why

#include<iostream>
using namespace std;
int n[35],k,cnt;
bool can[15][15];
int a[15];
long long ans=1;
void dfs(int start,int now)
{
    if(now==start) return;
    can[start][now]=true;
    for(int i=0;i<=9;i++)
        if(can[now][i]&&i!=now)
            dfs(start,i);
}
int main()
{
    char c;
    scanf("%c",&c);
    while(c!=' ')
    {
        n[++cnt]=c-'0';
        scanf("%c",&c);
    }
    scanf("%d",&k);
    for(int i=1;i<=k;i++)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        can[x][y]=true;
    }
    for(int i=0;i<=9;i++)
        dfs(i,i);
    for(int i=0;i<=9;i++)
        for(int j=0;j<=9;j++)
            if(can[i][j])//自己必须可以变成自己
                a[i]++;
    for(int i=1;i<=cnt;i++)
        ans*=a[n[i]];
    cout<<ans;
    return 0;
}
2023/1/12 16:39
加载中...