aboutsummaryrefslogtreecommitdiff
path: root/codeforces/LightsOut
diff options
context:
space:
mode:
Diffstat (limited to 'codeforces/LightsOut')
-rw-r--r--codeforces/LightsOut/inp0
-rwxr-xr-xcodeforces/LightsOut/mainbin0 -> 49856 bytes
-rw-r--r--codeforces/LightsOut/main.cpp47
-rw-r--r--codeforces/LightsOut/main_input0.txt3
-rw-r--r--codeforces/LightsOut/main_input1.txt3
-rw-r--r--codeforces/LightsOut/main_output0.txt3
-rw-r--r--codeforces/LightsOut/main_output1.txt3
7 files changed, 59 insertions, 0 deletions
diff --git a/codeforces/LightsOut/inp b/codeforces/LightsOut/inp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/codeforces/LightsOut/inp
diff --git a/codeforces/LightsOut/main b/codeforces/LightsOut/main
new file mode 100755
index 0000000..8462cbf
--- /dev/null
+++ b/codeforces/LightsOut/main
Binary files differ
diff --git a/codeforces/LightsOut/main.cpp b/codeforces/LightsOut/main.cpp
new file mode 100644
index 0000000..6b49d5d
--- /dev/null
+++ b/codeforces/LightsOut/main.cpp
@@ -0,0 +1,47 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+bool safeMove(int i, int j) {
+ if(i < 0 || i > 2 || j < 0 || j > 2) {
+ return false;
+ }
+ return true;
+}
+
+vector<vector<int>> sumAdjacents(vector<vector<int>> v) {
+ vector<vector<int>> ans(3, vector<int> (3));
+ vector<int> dx = {1, 0, -1, 0};
+ vector<int> dy = {0, 1, 0, -1};
+ for(int i = 0; i < v.size();i++) {
+ for(int j = 0; j < v[i].size(); j++) {
+ ans[i][j] += v[i][j];
+ for(int k = 0; k < 4; k++) {
+ int x = i + dx[k];
+ int y = j + dy[k];
+ if(safeMove(x, y)) {
+ ans[i][j] += v[x][y];
+ }
+ }
+ (ans[i][j] & 1) ? ans[i][j] = 0 : ans[i][j] = 1;
+ }
+ }
+ return ans;
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ vector<vector<int>> v (3, vector<int> (3));
+ for(auto &x : v) {
+ for(auto &y : x) {
+ cin >> y;
+ }
+ }
+ for(auto x : sumAdjacents(v)) {
+ for(auto z : x) {
+ cout << z;
+ }
+ cout << endl;
+ }
+}
diff --git a/codeforces/LightsOut/main_input0.txt b/codeforces/LightsOut/main_input0.txt
new file mode 100644
index 0000000..4d005ec
--- /dev/null
+++ b/codeforces/LightsOut/main_input0.txt
@@ -0,0 +1,3 @@
+1 0 0
+0 0 0
+0 0 1
diff --git a/codeforces/LightsOut/main_input1.txt b/codeforces/LightsOut/main_input1.txt
new file mode 100644
index 0000000..200a92e
--- /dev/null
+++ b/codeforces/LightsOut/main_input1.txt
@@ -0,0 +1,3 @@
+1 0 1
+8 8 8
+2 0 3
diff --git a/codeforces/LightsOut/main_output0.txt b/codeforces/LightsOut/main_output0.txt
new file mode 100644
index 0000000..4c5ffb7
--- /dev/null
+++ b/codeforces/LightsOut/main_output0.txt
@@ -0,0 +1,3 @@
+001
+010
+100
diff --git a/codeforces/LightsOut/main_output1.txt b/codeforces/LightsOut/main_output1.txt
new file mode 100644
index 0000000..94207d9
--- /dev/null
+++ b/codeforces/LightsOut/main_output1.txt
@@ -0,0 +1,3 @@
+010
+011
+100