CSES - KILO 2016 1/5 - Results
Submission details
Task:ID
Sender:OOliOO_slayer
Submission time:2016-09-06 17:13:21 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED1.31 sdetails
#4ACCEPTED1.21 sdetails
#5ACCEPTED0.09 sdetails
#6ACCEPTED0.16 sdetails
#7ACCEPTED1.14 sdetails
#8ACCEPTED0.06 sdetails
#9ACCEPTED0.07 sdetails
#10ACCEPTED0.29 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.22 sdetails
#14ACCEPTED0.62 sdetails
#15ACCEPTED0.27 sdetails

Compiler report

input/code.cpp: In function 'std::string next(std::string)':
input/code.cpp:20:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < 10 - s.size(); i++) s2 += '0';
                                  ^
input/code.cpp: In function 'int main()':
input/code.cpp:37:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(ids.size() < n){
                      ^
input/code.cpp:43:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(ids.size() == n) cout << current << endl;
                      ^

Code

#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <string>
#include <utility>
#include <algorithm>
#include <iomanip>
#include <set>

using namespace std;

typedef long long LL;

set<string> ids;

string next(string x){
  string s = to_string(stoi(x)+1);
  string s2;
  for(int i = 0; i < 10 - s.size(); i++) s2 += '0';
  return s2 + s;
}

bool compare(string a, string b){
  int dist = 0;
  for(int i = 0; i < 10; i++){
    if(a[i] != b[i]) dist++;
  }
  return dist > 1;
}

int main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n; cin >> n;
  string current = "0000000000";
  while(ids.size() < n){
    bool good = true;
    for(auto s : ids){
      if(!compare(current,s)) good = false;
    }
    if(good) ids.insert(current);
    if(ids.size() == n) cout << current << endl;
    current = next(current);
  }
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
0000000000

user output
0000000000

Test 2

Verdict: ACCEPTED

input
2

correct output
0000000011

user output
0000000011

Test 3

Verdict: ACCEPTED

input
1024

correct output
0000014072

user output
0000014072

Test 4

Verdict: ACCEPTED

input
989

correct output
0000013543

user output
0000013543

Test 5

Verdict: ACCEPTED

input
197

correct output
0000002507

user output
0000002507

Test 6

Verdict: ACCEPTED

input
328

correct output
0000004271

user output
0000004271

Test 7

Verdict: ACCEPTED

input
967

correct output
0000013301

user output
0000013301

Test 8

Verdict: ACCEPTED

input
130

correct output
0000001616

user output
0000001616

Test 9

Verdict: ACCEPTED

input
170

correct output
0000002211

user output
0000002211

Test 10

Verdict: ACCEPTED

input
455

correct output
0000005984

user output
0000005984

Test 11

Verdict: ACCEPTED

input
100

correct output
0000001230

user output
0000001230

Test 12

Verdict: ACCEPTED

input
104

correct output
0000001274

user output
0000001274

Test 13

Verdict: ACCEPTED

input
415

correct output
0000005423

user output
0000005423

Test 14

Verdict: ACCEPTED

input
676

correct output
0000009393

user output
0000009393

Test 15

Verdict: ACCEPTED

input
455

correct output
0000005984

user output
0000005984