Submission #1191851

#TimeUsernameProblemLanguageResultExecution timeMemory
1191851AlgorithmWarriorTable Tennis (JOI24_tabletennis)C++20
0 / 100
399 ms36968 KiB
#include <bits/stdc++.h>

using namespace std;

int q;
int n,m;
int const MAX=5005;
bool edge[MAX][MAX];

void solve(){
    int limit;
    if(n&1)
        limit=(n-1)*(n-1)/4;
    else
        limit=n*(n-2)/4;
    if(m>limit){
        cout<<"No\n";
        return;
    }
    int i,j;
    for(i=2;i<=n;++i)
        for(j=1;j<i;++j)
            edge[i][j]=1;
    for(i=1;n-2*i>0;++i)
        if(m>=n-2*i){
            m-=n-2*i;
            edge[n-i+1][i]=0;
        }
    cout<<"Yes\n";
    for(i=2;i<=n;++i){
        for(j=1;j<i;++j)
            cout<<edge[i][j];
        cout<<'\n';
    }
}

int main()
{
    cin>>q;
    while(q--){
        cin>>n>>m;
        solve();
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...