Submission #3057642


Source Code Expand

#include <bits/stdc++.h>

using namespace std;


int main() {
  int N;
  cin >> N;
  string cur(N, '0');
  set< string > used;
  vector< string > ans;

  bool update = true;
  while(update) {
    update = false;
    used.emplace(cur);
    ans.push_back(cur);
    for(int i = 0; i < N; i++) {
      for(int j : {1, 9}) {
        string nxt = cur;
        nxt[i] = (nxt[i] - '0' + j) % 10 + '0';
        if(abs(nxt[i] - cur[i]) != 1) continue;
        if(used.count(nxt)) continue;
        update = true;
        cur = nxt;
        break;
      }
      if(update) break;
    }
  }
  cout << ans.size() - 1 << endl;
  for(auto &p : ans) {
    reverse(begin(p), end(p));
    cout << p << endl;
  }
}

Submission Info

Submission Time
Task A - Lock
User ei13333
Language C++14 (GCC 5.4.1)
Score 100
Code Size 730 Byte
Status AC
Exec Time 243 ms
Memory 15732 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 5
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 3 ms 384 KB
subtask1_02.txt AC 25 ms 1792 KB
subtask1_03.txt AC 243 ms 15732 KB