제출 #1143179

#제출 시각아이디문제언어결과실행 시간메모리
1143179andreeavl새로운 문제 (POI13_spa)C++20
24 / 100
199 ms184992 KiB
#include <iostream>

using namespace std;
int n,k;
int st,dr,x;
bool v[10000000], b[10000000];
string start, finish, a;

void dfs(int y)
{
    v[y]=true;
    if(y==dr)
    {
        cout<<"TAK";
        exit(0);
    }
    for(int i=0; i<n; i++)
        if(v[(y^(1<<i))]==false && b[(y^(1<<i))]==false)
            dfs((y^(1<<i)));
}

int sch(string &s)
{
    int y=0;
    for(int i=0; i<(int)s.size(); i++)
    {
        if(s[i]=='1')
            y+=(1<<i);
    }
    return y;
}

int main()
{
    cin>>n>>k;
    cin>>start>>finish;
    st=sch(start);
    dr=sch(finish);
    for(int i=1; i<=k; i++)
    {
        cin>>a;
        x=sch(a);
        b[x]=true;
    }
    dfs(st);
    cout<<"NIE";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...