답안 #72278

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
72278 2018-08-26T06:42:39 Z 김동현보다 잘함(#2226, tlwpdus) 재채점 전쟁 (FXCUP3_judge) C++17
0 / 100
3 ms 452 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;

int n, c, d;
int cnt[1100000], dnt[1100000], rd[1100000], ans[500100];

void calc(int cnt[]) {
    int i, j;
    for (i=0;i<n;i++){
        for (j=0;j<(1<<n);j++) {
            if (j>>i&1) cnt[j] += cnt[j^(1<<i)];
        }
    }
    for (i=0;i<(1<<n);i++) {
        for (j=0;j<n;j++) {
            if (i>>j&1) {
                if (cnt[i]==cnt[i^(1<<j)]) {
                    cnt[i] = 0;
                    break;
                }
            }
        }
    }
}

void rcalc(int cnt[]) {
    int i, j;
    for (i=0;i<n;i++){
        for (j=0;j<(1<<n);j++) {
            if ((j>>i&1)==0) cnt[j] += cnt[j^(1<<i)];
        }
    }
}


char buf[21];
int main() {
    int i;

    scanf("%d",&n);
    scanf("%d",&c);
    for (i=0;i<c;i++){
        scanf("%s",buf);
        int v = 0;
        for (int j=0;j<n;j++) {
            v *= 2;
            v += (buf[j]=='o');
        }
        cnt[v]++;
    }
    scanf("%d",&d);
    for (i=0;i<d;i++){
        scanf("%s",buf);
        int v = 0;
        for (int j=0;j<n;j++) {
            v *= 2;
            v += (buf[j]=='.');
        }
        dnt[v]++;
    }
    calc(cnt);
    rcalc(dnt);
    for (i=0;i<(1<<n);i++) {
        if (!cnt[i])continue;
        //printf("%d!\n",i);
        ans[d-dnt[i]]=1;
    }
    for (i=1;i<=d;i++) printf(ans[i]?"o":"x");
    printf("\n");

    return 0;
}

Compilation message

judge.cpp: In function 'int main()':
judge.cpp:45:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);
     ~~~~~^~~~~~~~~
judge.cpp:46:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&c);
     ~~~~~^~~~~~~~~
judge.cpp:48:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",buf);
         ~~~~~^~~~~~~~~~
judge.cpp:56:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&d);
     ~~~~~^~~~~~~~~
judge.cpp:58:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",buf);
         ~~~~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Incorrect 2 ms 452 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Incorrect 2 ms 452 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB Output is correct
2 Incorrect 2 ms 452 KB Output isn't correct
3 Halted 0 ms 0 KB -