QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#235270 | #6705. Median | AlanX | ML | 0ms | 3752kb | C++17 | 2.0kb | 2023-11-02 16:40:36 | 2023-11-02 16:40:37 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//cout << fixed <<setprecision(2) << ans;
//inline ll read() {
// ll ans=0,f=1;
// char c=getchar();
// while(c<'0' || c>'9') {
// if(c=='-') f=-1;
// c=getchar();
// }
// while(c>='0' && c<='9') {
// ans=(ans<<1)+(ans<<3)+(c^48);
// c=getchar();
// }
// return ans*f;
//}
//char F[200];
//inline void out(I_int x) {
// if (x == 0) return (void) (putchar('0'));
// I_int tmp = x > 0 ? x : -x;
// if (x < 0) putchar('-');
// int cnt = 0;
// while (tmp > 0) {
// F[cnt++] = tmp % 10 + '0';
// tmp /= 10;
// }
// while (cnt > 0) putchar(F[--cnt]);
// //cout<<" ";
//}
#define endl '\n'
const int N=1e5+5;
ll n,m;
vector<ll>to[105],To[105];
ll num[105],Num[105];
ll in[105],out[105];
void dfs(ll u,ll cnt){
num[u]+=cnt;
for(auto v:to[u]){
dfs(v,cnt+1);
}
}
void Dfs(ll u,ll cnt){
Num[u]+=cnt;
for(auto v:To[u]){
Dfs(v,cnt+1);
}
}
void solve(){
cin>>n>>m;
ll u,v;
for(int i=1;i<=n;i++){
Num[i]=1;
num[i]=1;
to[i].clear();
To[i].clear();
in[i]=out[i]=0;
}
ll q=0;
for(int i=1;i<=m;i++){
cin>>u>>v;
to[u].push_back(v);
To[v].push_back(u);
in[v]++;
out[u]++;
if(u==v)q=1;
}
if(q){
for(int i=1;i<=n;i++){
cout<<0;
}
cout<<endl;
return ;
}
q=0;
for(int i=1;i<=n;i++){
if(!in[i]){
q=1;
}
}
for(int i=1;i<=n;i++){
if(!out[i]){
q=1;
}
}
if(!q){
for(int i=1;i<=n;i++){
cout<<0;
}
cout<<endl;
return ;
}
for(int i=1;i<=n;i++){
if(!in[i]){
dfs(i,0);
}
}
for(int i=1;i<=n;i++){
if(!out[i]){
Dfs(i,0);
}
}
for(int i=1;i<=n;i++){
// cout<<"i="<<i<<" num="<<num[i]<<" Num="<<Num[i]<<endl;
if(num[i]<=n/2+1&&Num[i]<=n/2+1){
cout<<1;
}
else cout<<0;
}
cout<<endl;
return ;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int _=1;
cin>>_;
while(_--)
solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3752kb
input:
2 5 4 1 2 3 2 2 4 2 5 3 2 1 1 2 3
output:
01000 000
result:
ok 2 lines
Test #2:
score: -100
Memory Limit Exceeded
input:
66 13 2 9 13 7 11 11 19 9 1 8 1 5 1 2 8 4 2 2 1 5 2 6 3 3 11 3 2 4 6 6 10 9 8 3 5 1 7 5 8 3 9 4 9 6 7 3 1 2 3 11 6 9 4 1 6 5 2 1 5 4 6 8 4 15 15 10 6 15 8 7 6 11 1 5 2 3 4 11 13 4 6 10 12 10 13 1 6 15 2 5 12 13 14 5 3 15 86 14 12 8 1 14 9 8 15 5 10 1 9 11 2 6 2 7 10 10 13 14 5 4 13 5 8 4 10 13 9 6 9...