답안 #660688

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
660688 2022-11-22T19:22:24 Z BidoTeima Poklon (COCI17_poklon7) C++17
78 / 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;
} 
bool cmp(string&a,string&b){
    if(a.size()>b.size())return 1;
    if(b.size()>a.size())return 0;
    for(int i = 0; i < (int)a.size(); i++){
        if(a[i]=='1'&&b[i]=='0')return 1;
        if(a[i]=='0'&&b[i]=='1')return 0;
    }
    return 1;
}
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);
    if(cmp(x,y)){
        x.push_back('0');
        return sum[node]=x;
    }
    y.push_back('0');
    return sum[node]=y;
}
int main()
{
    //ACPLS();   
    int n;
    cin>>n;
    for(int i = 1; i <= n; i++){
        ll u,v;
        cin>>u>>v;
        adjW[i].first=(binary(u));
        adjW[i].second=(binary(v)); 
        adj[i].first=(u);
        adj[i].second=(v);
    }
    dfs(1);
    cout<<sum[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 41 ms 94156 KB Output is correct
2 Correct 42 ms 94152 KB Output is correct
3 Correct 43 ms 94336 KB Output is correct
4 Correct 45 ms 94184 KB Output is correct
5 Correct 43 ms 94184 KB Output is correct
6 Correct 43 ms 94152 KB Output is correct
7 Correct 41 ms 94148 KB Output is correct
8 Correct 42 ms 94152 KB Output is correct
9 Correct 48 ms 94264 KB Output is correct
10 Correct 47 ms 94236 KB Output is correct
11 Correct 74 ms 108236 KB Output is correct
12 Correct 63 ms 102408 KB Output is correct
13 Runtime error 163 ms 262144 KB Execution killed with signal 9
14 Runtime error 227 ms 262144 KB Execution killed with signal 9
15 Correct 171 ms 107800 KB Output is correct
16 Runtime error 475 ms 262144 KB Execution killed with signal 9
17 Runtime error 974 ms 262144 KB Execution killed with signal 9
18 Runtime error 995 ms 262144 KB Execution killed with signal 9
19 Execution timed out 1092 ms 190676 KB Time limit exceeded
20 Execution timed out 1099 ms 212100 KB Time limit exceeded