답안 #660694

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
660694 2022-11-22T19:36:07 Z BidoTeima Poklon (COCI17_poklon7) C++17
42 / 120
1000 ms 262144 KB
/*
ID: BidoTeima
LANG: C++11
TASK: 
*/
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void moo(string filename);
void ACPLS(string str = "")
{
    if(str=="NOF")return;
    if(str.size())
        moo(str);
    else{
        #ifndef ONLINE_JUDGE
            freopen("output.txt", "w", stdout);
            freopen("input.txt", "r", stdin);
        #endif
    }
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}
void moo(string fileName){
    freopen((fileName+".in").c_str(),"r",stdin);
    freopen((fileName+".out").c_str(),"w",stdout);
}
#define tc         \
    int tttttt/*,subtask*/;    \
    cin >> tttttt/* >> subtask*/; \
    while (tttttt--)/*end
*/
pair<string,string>adjW[(int)1e6+5];
pair<int,int>adj[(int)1e6+5]; 
string sum[(int)1e6+5]; 
string binary(int x){ 
    string ret;
    if(x<0)x=-x;
    if(!x)return "0";
    while(x){
        ret.push_back('0'+(x%2));
        x/=2;
    }
    reverse(ret.begin(),ret.end());
    return ret;
} 
string dfs(ll node){
    string x = \
    adj[node].first<=0?
    adjW[node].first:
    dfs(adj[node].first);
    string y = \
    adj[node].second<=0?
    adjW[node].second:
    dfs(adj[node].second);
    bool greaterorequal=1;
    if(y.size()>x.size())greaterorequal=0;
    for(int i = 0; i < (int)x.size() && (int)x.size()==(int)y.size() && greaterorequal; i++){
        if(x[i]=='0'&&y[i]=='1')greaterorequal=0;
    }
    if(greaterorequal){
        x.push_back('0');
        return x;
    }
    y.push_back('0');
    return y;
}
int main()
{
    //ACPLS();   
    int n;
    cin>>n;
    for(int i = 1; i <= n; i++){
        ll u,v;
        cin>>u>>v;
        adj[i].first=(u);
        adj[i].second=(v);
        if(u<=0)adjW[i].first=binary(u);
        if(v<=0)adjW[i].second=binary(v);
    }
    cout<<dfs(1);
}

Compilation message

poklon.cpp: In function 'void ACPLS(std::string)':
poklon.cpp:17:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |             freopen("output.txt", "w", stdout);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp:18:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |             freopen("input.txt", "r", stdin);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp: In function 'void moo(std::string)':
poklon.cpp:26:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |     freopen((fileName+".in").c_str(),"r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poklon.cpp:27:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |     freopen((fileName+".out").c_str(),"w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 94156 KB Output is correct
2 Correct 41 ms 94176 KB Output is correct
3 Correct 41 ms 94156 KB Output is correct
4 Incorrect 42 ms 94216 KB Output isn't correct
5 Correct 41 ms 94176 KB Output is correct
6 Correct 40 ms 94164 KB Output is correct
7 Incorrect 40 ms 94164 KB Output isn't correct
8 Incorrect 45 ms 94124 KB Output isn't correct
9 Incorrect 43 ms 94272 KB Output isn't correct
10 Incorrect 41 ms 94168 KB Output isn't correct
11 Correct 50 ms 95484 KB Output is correct
12 Incorrect 51 ms 95384 KB Output isn't correct
13 Correct 93 ms 100996 KB Output is correct
14 Incorrect 138 ms 108212 KB Output isn't correct
15 Incorrect 135 ms 99748 KB Output isn't correct
16 Incorrect 379 ms 133684 KB Output isn't correct
17 Incorrect 842 ms 180812 KB Output isn't correct
18 Incorrect 845 ms 188544 KB Output isn't correct
19 Execution timed out 1040 ms 179100 KB Time limit exceeded
20 Runtime error 976 ms 262144 KB Execution killed with signal 9