Cod sursa(job #1025507)

Utilizator felixiPuscasu Felix felixi Data 10 noiembrie 2013 10:02:02
Problema Lista lui Andrei Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;

int c[28][28], d[1003][30];

void init(){
    for(int i=1; i<=26; i++){
        d[1][i]=1;
    }
}

int main()
{
    ifstream in("nrcuv.in");
    ofstream out("nrcuv.out");
    int n,m,i,j,R=0;
    char x,y;

    in>>n>>m;

    init();

    for(i=1; i<=m; i++){
        in>>x>>y;
        c[x-'a'+1][y-'a'+1]=1;
        c[y-'a'+1][x-'a'+1]=1;
    }

    for(i=2; i<=n; i++){
        for(j=1; j<=26; j++){
            for(int k=1; k<=26; k++){
                if(c[j][k]==0 && c[k][j]==0){
                    d[i][j]+=d[i-1][k];
                }
            }
        }
    }
    for(i=1; i<=26; i++){
        R+=d[n][i];
    }

    out<<R;

    in.close();
    out.close();

    return 0;
}