Submission #244491

#TimeUsernameProblemLanguageResultExecution timeMemory
244491tqbfjotldPotemkin cycle (CEOI15_indcyc)C++14
30 / 100
1095 ms512 KiB
#include <bits/stdc++.h>
using namespace std;

int n,e;
bool adjm[15][15];
vector<int> cur;
bool used[15];

bool thing(){
    for (int x = 0; x<n; x++){
        if (used[x]) continue;
        if (cur.size()>0&&!adjm[x][cur[cur.size()-1]])continue;
        bool possible = true;
        for (int y = 1; 1+y<cur.size(); y++){
            if (adjm[x][cur[y]]){
                possible = false;
            }
        }
        if (possible){
            if (cur.size()>=3&&adjm[x][cur[0]]){
                cur.push_back(x);
                return true;
            }
            if (cur.size()>1&&adjm[x][cur[0]]) continue;
            cur.push_back(x);
            used[x] = true;
            if (thing()){
                return true;
            }
            cur.pop_back();
            used[x] = false;
        }
    }
    return false;
}

int main(){
    scanf("%d%d",&n,&e);
    for (int x = 0; x<e; x++){
        int a,b;
        scanf("%d%d",&a,&b);
        a--;b--;
        adjm[a][b] = 1;
        adjm[b][a] = 1;
    }
    if (thing()){
        for (int x : cur){
            printf("%d ",1+x);
        }
    }
    else{
        printf("no");
    }

}

Compilation message (stderr)

indcyc.cpp: In function 'bool thing()':
indcyc.cpp:14:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int y = 1; 1+y<cur.size(); y++){
                         ~~~^~~~~~~~~~~
indcyc.cpp: In function 'int main()':
indcyc.cpp:38:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&e);
     ~~~~~^~~~~~~~~~~~~~
indcyc.cpp:41:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&a,&b);
         ~~~~~^~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...