답안 #660687

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
660687 2022-11-22T19:18:40 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;
}
string mul2(string a){ 
    if(a=="0")return "0";
    a.push_back('0');
    return a;
}
string mx(string&a,string&b){
    if(a.size()>b.size())return a;
    if(b.size()>a.size())return b;
    for(int i = 0; i < (int)a.size(); i++){
        if(a[i]=='1'&&b[i]=='0')return a;
        if(a[i]=='0'&&b[i]=='1')return b;
    }
    return a;
}
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);
    return sum[node]=mul2(mx(x,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 42 ms 94168 KB Output is correct
2 Correct 44 ms 94156 KB Output is correct
3 Correct 44 ms 94128 KB Output is correct
4 Correct 47 ms 94144 KB Output is correct
5 Correct 44 ms 94128 KB Output is correct
6 Correct 44 ms 94260 KB Output is correct
7 Correct 42 ms 94164 KB Output is correct
8 Correct 43 ms 94236 KB Output is correct
9 Correct 46 ms 94408 KB Output is correct
10 Correct 46 ms 94312 KB Output is correct
11 Correct 65 ms 118888 KB Output is correct
12 Correct 64 ms 108392 KB Output is correct
13 Runtime error 171 ms 262144 KB Execution killed with signal 9
14 Runtime error 218 ms 262144 KB Execution killed with signal 9
15 Correct 170 ms 111180 KB Output is correct
16 Runtime error 472 ms 262144 KB Execution killed with signal 9
17 Runtime error 970 ms 262144 KB Execution killed with signal 9
18 Runtime error 979 ms 262144 KB Execution killed with signal 9
19 Execution timed out 1097 ms 203700 KB Time limit exceeded
20 Execution timed out 1110 ms 262144 KB Time limit exceeded