TakahiroNakamori

TakahiroNakamori

ナカモリタカヒロ

 
 

Guess The Number

問題

C – Guess The Number
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技…

記録

解法

コード例

#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
using P = pair<int, int>;
#define rep(i, n) for(int i = 0; i < (n); ++i)
// using mint = modint998244353;
// using mint = modint1000000007;
// const int mod = 1000000007;
// const ll INF = 1LL << 62;
// const int INF = 1001001001;

int main() {
  int N, M;
  cin >> N >> M;

  vector<set<int>> v(N);
  rep(i, M) {
    int s, c;
    cin >> s >> c;
    s--;
    v[s].insert(c);
  }

  rep(i, N) {
    if(1 < (int)v[i].size()) {
      cout << "-1" << endl;
      return 0;
    }
  }

  if((int)v[0].size() == 0 && N != 1) {
    v[0].insert(1);
  } else {
    int c = *v[0].begin();
    if(c == 0 && N != 1) {
      cout << "-1" << endl;
      return 0;
    }
  }

  int ans = 0;
  rep(i, N) {
    ans *= 10;
    if((int)v[i].size() == 0) {
      ans += 0;
    } else {
      ans += *v[i].begin();
    }
  }

  if(ans == 0 && N != 1) {
    cout << "-1" << endl;
    return 0;
  }

  cout << ans << endl;
  return 0;
}