diff options
Diffstat (limited to 'LightsOut')
| -rw-r--r-- | LightsOut/inp | 0 | ||||
| -rwxr-xr-x | LightsOut/main | bin | 0 -> 49856 bytes | |||
| -rw-r--r-- | LightsOut/main.cpp | 47 | ||||
| -rw-r--r-- | LightsOut/main_input0.txt | 3 | ||||
| -rw-r--r-- | LightsOut/main_input1.txt | 3 | ||||
| -rw-r--r-- | LightsOut/main_output0.txt | 3 | ||||
| -rw-r--r-- | LightsOut/main_output1.txt | 3 |
7 files changed, 59 insertions, 0 deletions
diff --git a/LightsOut/inp b/LightsOut/inp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/LightsOut/inp diff --git a/LightsOut/main b/LightsOut/main Binary files differnew file mode 100755 index 0000000..8462cbf --- /dev/null +++ b/LightsOut/main diff --git a/LightsOut/main.cpp b/LightsOut/main.cpp new file mode 100644 index 0000000..6b49d5d --- /dev/null +++ b/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/LightsOut/main_input0.txt b/LightsOut/main_input0.txt new file mode 100644 index 0000000..4d005ec --- /dev/null +++ b/LightsOut/main_input0.txt @@ -0,0 +1,3 @@ +1 0 0 +0 0 0 +0 0 1 diff --git a/LightsOut/main_input1.txt b/LightsOut/main_input1.txt new file mode 100644 index 0000000..200a92e --- /dev/null +++ b/LightsOut/main_input1.txt @@ -0,0 +1,3 @@ +1 0 1 +8 8 8 +2 0 3 diff --git a/LightsOut/main_output0.txt b/LightsOut/main_output0.txt new file mode 100644 index 0000000..4c5ffb7 --- /dev/null +++ b/LightsOut/main_output0.txt @@ -0,0 +1,3 @@ +001 +010 +100 diff --git a/LightsOut/main_output1.txt b/LightsOut/main_output1.txt new file mode 100644 index 0000000..94207d9 --- /dev/null +++ b/LightsOut/main_output1.txt @@ -0,0 +1,3 @@ +010 +011 +100 |
