Submission #677898

#TimeUsernameProblemLanguageResultExecution timeMemory
677898qwerasdfzxclRemittance (JOI19_remittance)C++17
15 / 100
1085 ms8180 KiB
#include <bits/stdc++.h>

typedef long long ll;
using namespace std;
map<vector<char>, bool> visited;
int n;

void dfs(vector<char> a){
    visited[a] = 1;
    for (int i=0;i<n;i++){
        for (int j=1;j*2<=a[i];j++){
            auto na = a;
            na[i] -= j*2;
            na[(i+1)%n] += j;

            if (!visited[na]) dfs(na);
        }
    }
}

int main(){
    scanf("%d", &n);
    vector<char> a, b;
    for (int i=0;i<n;i++){
        int x, y;
        scanf("%d %d", &x, &y);
        a.push_back(x);
        b.push_back(y);
    }


    dfs(a);
    if (visited[b]) printf("Yes\n");
    else printf("No\n");
    return 0;
}

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
remittance.cpp:26:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |         scanf("%d %d", &x, &y);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...