Submission #575408


Source Code Expand

#include <cstdio>
#include <algorithm>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <string>
#include <string.h>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <map>
#include <set>
#include <iostream>
#include <sstream>
#include <numeric>
#include <cctype>
#define fi first
#define se second
#define rep(i,n) for(int i = 0; i < n; ++i)
#define rrep(i,n) for(int i = 1; i <= n; ++i)
#define drep(i,n) for(int i = n-1; i >= 0; --i)
#define gep(i,g,j) for(int i = g.head[j]; i != -1; i = g.e[i].next)
#define each(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)
#define rng(a) a.begin(),a.end()
#define maxs(x,y) x = max(x,y)
#define mins(x,y) x = min(x,y)
#define pb push_back
#define sz(x) (int)(x).size()
#define pcnt __builtin_popcount
#define snuke srand((unsigned)clock()+(unsigned)time(NULL));
#define df(x) int x = in()
using namespace std;
typedef long long int ll;
typedef pair<int,int> P;
typedef vector<int> vi;
typedef vector<vi> vvi;
inline int in() { int x; scanf("%d",&x); return x;}
inline void priv(vi a) { rep(i,sz(a)) printf("%d%c",a[i],i==sz(a)-1?'\n':' ');}

const int MX = 100005, INF = 1000010000;
const ll LINF = 1000000000000000000ll;
const double eps = 1e-10;

int k, n;
int a[9];
vi d[55];
string s[55];
string t[9];

bool dfs(int dep) {
  if (dep == k) {
    rep(i,k) t[i] = "";
    rep(i,n) {
      int p = 0;
      for (int x : d[i]) {
        string y = "";
        rep(j,a[x]) {
          if (p < sz(s[i])) {
            y += s[i][p];
            ++p;
          }
        }
        if (sz(y) != a[x]) return false;
        if (t[x] == "") t[x] = y;
        else if (t[x] != y) return false;
      }
      if (p != sz(s[i])) return false;
    }
    rep(i,k) {
      cout<<t[i]<<endl;
    }
    return true;
  }
  rrep(l,3) {
    a[dep] = l;
    if (dfs(dep+1)) return true;
  }
  return false;
}

int main() {
  scanf("%d%d",&k,&n);
  rep(i,n) {
    int x = 0;
    scanf("%d",&x);
    cin >> s[i];
    while (x) {
      d[i].pb(x%10-1);
      x /= 10;
    }
    reverse(rng(d[i]));
    // priv(d[i]);
  }
  dfs(0);
  return 0;
}





Submission Info

Submission Time
Task D - 語呂合わせ
User snuke
Language C++11 (GCC 4.9.2)
Score 100
Code Size 2130 Byte
Status AC
Exec Time 63 ms
Memory 932 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:83:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&k,&n);
                      ^
./Main.cpp:86:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&x);
                   ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 40 / 40 60 / 60
Status
AC × 4
AC × 23
AC × 44
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Case Name Status Exec Time Memory
sample-01.txt AC 26 ms 920 KB
sample-02.txt AC 26 ms 796 KB
sample-03.txt AC 25 ms 928 KB
sample-04.txt AC 27 ms 928 KB
subtask1-01.txt AC 27 ms 804 KB
subtask1-02.txt AC 28 ms 796 KB
subtask1-03.txt AC 27 ms 924 KB
subtask1-04.txt AC 26 ms 920 KB
subtask1-05.txt AC 25 ms 928 KB
subtask1-06.txt AC 26 ms 920 KB
subtask1-07.txt AC 28 ms 928 KB
subtask1-08.txt AC 30 ms 768 KB
subtask1-09.txt AC 26 ms 928 KB
subtask1-10.txt AC 27 ms 808 KB
subtask1-11.txt AC 27 ms 800 KB
subtask1-12.txt AC 27 ms 804 KB
subtask1-13.txt AC 27 ms 932 KB
subtask1-14.txt AC 26 ms 800 KB
subtask1-15.txt AC 26 ms 800 KB
subtask1-16.txt AC 26 ms 920 KB
subtask1-17.txt AC 26 ms 928 KB
subtask1-18.txt AC 25 ms 928 KB
subtask1-19.txt AC 26 ms 732 KB
subtask1-20.txt AC 27 ms 804 KB
subtask2-01.txt AC 32 ms 800 KB
subtask2-02.txt AC 30 ms 808 KB
subtask2-03.txt AC 35 ms 792 KB
subtask2-04.txt AC 43 ms 744 KB
subtask2-05.txt AC 29 ms 800 KB
subtask2-06.txt AC 27 ms 916 KB
subtask2-07.txt AC 62 ms 804 KB
subtask2-08.txt AC 33 ms 920 KB
subtask2-09.txt AC 63 ms 920 KB
subtask2-10.txt AC 55 ms 916 KB
subtask2-11.txt AC 54 ms 800 KB
subtask2-12.txt AC 40 ms 916 KB
subtask2-13.txt AC 31 ms 800 KB
subtask2-14.txt AC 45 ms 804 KB
subtask2-15.txt AC 33 ms 928 KB
subtask2-16.txt AC 49 ms 800 KB
subtask2-17.txt AC 26 ms 804 KB
subtask2-18.txt AC 54 ms 800 KB
subtask2-19.txt AC 50 ms 800 KB
subtask2-20.txt AC 50 ms 804 KB