Submission #1151705

#TimeUsernameProblemLanguageResultExecution timeMemory
1151705Ghulam_JunaidLight Bulbs (EGOI24_lightbulbs)C++20
0 / 100
1 ms416 KiB
#include <bits/stdc++.h> using namespace std; const int N = 105; int n, mat[N][N]; set<pair<int, int>> V, H; int ask(pair<int, int> x, pair<int, int> y){ memset(mat, 0, sizeof mat); mat[x.first][x.second] = 1; mat[y.first][y.second] = 1; cout << "?" << endl; for (int i = 0; i < n; i ++){ for (int j = 0; j < n; j ++) cout << mat[i][j]; cout << endl; } int res; cin >> res; return res; } void solveV(){ int i = 0; int j = 0; auto I = *V.begin(); while (i < n and j < n){ if (V.find({i, j}) != V.end()){ j++; continue; } if (H.find({i, j}) != H.end()){ i++; continue; } int x = ask(I, {i, j}); if (x == 2 * n){ V.insert({i, j}); j++; } else{ H.insert({i, j}); i++; } } if (V.size() == n){ memset(mat, 0, sizeof mat); cout << "!" << endl; for (auto [i, j] : V) mat[i][j] = 1; for (int i = 0; i < n; i ++){ for (int j = 0; j < n; j ++) cout << mat[i][j]; cout << endl; } } else if (H.size() == n){ memset(mat, 0, sizeof mat); cout << "!" << endl; for (auto [i, j] : H) mat[i][j] = 1; for (int i = 0; i < n; i ++){ for (int j = 0; j < n; j ++) cout << mat[i][j]; cout << endl; } } else{ cout << 1 / 0 << endl; } } void solveH(){ int i = 0; int j = 0; auto I = *H.begin(); while (i < n and j < n){ if (V.find({i, j}) != V.end()){ j++; continue; } if (H.find({i, j}) != H.end()){ i++; continue; } int x = ask(I, {i, j}); if (x == 2 * n){ H.insert({i, j}); i++; } else{ V.insert({i, j}); j++; } } if (V.size() == n){ memset(mat, 0, sizeof mat); cout << "!" << endl; for (auto [i, j] : V) mat[i][j] = 1; for (int i = 0; i < n; i ++){ for (int j = 0; j < n; j ++) cout << mat[i][j]; cout << endl; } } else if (H.size() == n){ memset(mat, 0, sizeof mat); cout << "!" << endl; for (auto [i, j] : H) mat[i][j] = 1; for (int i = 0; i < n; i ++){ for (int j = 0; j < n; j ++) cout << mat[i][j]; cout << endl; } } else{ cout << 1 / 0 << endl; } } int main(){ cin >> n; int a = ask({0, 0}, {0, 1}); if (a == n){ H.insert({0, 0}); solveH(); return 0; } if (a == 2 * n){ V.insert({0, 0}); V.insert({0, 1}); solveV(); return 0; } int b = ask({0, 0}, {0, 2}); if (b == n){ H.insert({0, 0}); V.insert({0, 1}); solveV(); return 0; } if (b == 2 * n){ V.insert({0, 0}); V.insert({0, 2}); H.insert({0, 1}); solveV(); return 0; } int c = ask({0, 1}, {0, 2}); if (c == n){ H.insert({0, 1}); V.insert({0, 0}); solveV(); return 0; } if (c == 2 * n){ V.insert({0, 1}); V.insert({0, 2}); H.insert({0, 0}); solveV(); return 0; } cout << 1/0 << endl; }

Compilation message (stderr)

Main.cpp: In function 'void solveV()':
Main.cpp:74:19: warning: division by zero [-Wdiv-by-zero]
   74 |         cout << 1 / 0 << endl;
      |                 ~~^~~
Main.cpp: In function 'void solveH()':
Main.cpp:127:19: warning: division by zero [-Wdiv-by-zero]
  127 |         cout << 1 / 0 << endl;
      |                 ~~^~~
Main.cpp: In function 'int main()':
Main.cpp:179:14: warning: division by zero [-Wdiv-by-zero]
  179 |     cout << 1/0 << endl;
      |             ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...