Submission #1151770

#TimeUsernameProblemLanguageResultExecution timeMemory
1151770hynmjLight Bulbs (EGOI24_lightbulbs)C++20
0 / 100
0 ms416 KiB
//~~~~~~~~~~~~~MJ®™~~~~~~~~~~~~~
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx")
#define rep1(n) for(ll i=0; i<(ll)(n); ++i)
#define rep2(i,n) for(ll i=0; i<(ll)(n); ++i)
#define rep3(i,a,b) for(ll i=(ll)(a); i<(ll)(b); ++i)
#define rep4(i,a,b,c) for(ll i=(ll)(a); i<(ll)(b); i+=(c))
#define cut4(a,b,c,d,e,...) e
#define rep(...) cut4(__VA_ARGS__,rep4,rep3,rep2,rep1)(__VA_ARGS__)
#define per1(n) for(ll i=((ll)n)-1; i>=0; --i)
#define per2(i,n) for(ll i=((ll)n)-1; i>=0; --i)
#define per3(i,a,b) for(ll i=((ll)a)-1; i>=(ll)(b); --i)
#define per4(i,a,b,c) for(ll i=((ll)a)-1; i>=(ll)(b); i-=(c))
#define per(...) cut4(__VA_ARGS__,per4,per3,per2,per1)(__VA_ARGS__)
#define ll long long
#define ln cout<<endl
#define int long long
#define vv vector<vi>
#define vp vector<pi>
#define append push_back
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(),(x).rend()
#define vi vector<int>
#define ret(x) {cout<<x;return;}
#define ui map<int,int>
#define pi pair<int,int>
#define ff first
#define ss second
using namespace std;
const int INF = 1e18, MOD = 1e9+7, N = 2e5+7;
void solve()
{
    int n, k, e, m, ans = 0;
    cin >> n;
    vv a(n, vi(n,0));
    rep(l,1ll<<(n*n))
    {
        bool ok=1;
        vi incol(n,0);
        vi inrow(n,0);
        rep(n)
        {
            rep(j,n)
            {
                if (l & (1ll<<(i*n+j)))
                {
                    // inrow[i]++;
                    // incol[j]++;
                    // if (inrow[i]>1 or incol[j]>1)
                    // {
                    //     ok = false;
                    //     break;
                    // }
                    a[i][j] = 1;
                }
                else
                {
                    a[i][j] = 0;
                }   
            }
        }
        // rep(n)if (incol[i]==0 or inrow[i]==0)ok=0;
        // if (!ok)
        // {
        //     continue;;
        // }

        cout << "? "<< endl;
        rep(n)
        {
            rep(j,n)
            {
                cout << a[i][j] << " ";
            }
            cout << endl;
        }
        int x;
        cin>> x;
        if (x==n*n)
        {
            
        cout << "! "<< endl;
        rep(n)
        {
            rep(j,n)
            {
                cout << a[i][j] << " ";
            }
            cout << endl;
        }
            exit(0);
        }

    }

    







     // cout << ans;
    // cout << a.size();
    // for (auto i: a){cout << i << " ";}
}
signed main(){
    // ios_base::sync_with_stdio(0);
    // cin.tie(NULL); cout.tie(NULL);
    int ans=1;
    //cout<<setprecision(1000);
    // cin>>ans;
    rep(ans){
        // cout << "Case #" << i+1 << ": ";
        solve();ln;}}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...