diff options
Diffstat (limited to 'amazing')
| -rwxr-xr-x | amazing/amazing | bin | 102112 -> 0 bytes | |||
| -rw-r--r-- | amazing/amazing.cpp | 163 | ||||
| -rw-r--r-- | amazing/amazing.in | 108 | ||||
| -rw-r--r-- | amazing/amazing.py | 4 | ||||
| -rw-r--r-- | amazing/backup | 126 |
5 files changed, 0 insertions, 401 deletions
diff --git a/amazing/amazing b/amazing/amazing Binary files differdeleted file mode 100755 index 9a65934..0000000 --- a/amazing/amazing +++ /dev/null diff --git a/amazing/amazing.cpp b/amazing/amazing.cpp deleted file mode 100644 index e9bc8d6..0000000 --- a/amazing/amazing.cpp +++ /dev/null @@ -1,163 +0,0 @@ -#include <iostream> -#include <string> -#include <vector> -#include <iomanip> -using namespace std; -/* -rows -j 0 1 2 3 4 -i -0 <0 1 0 1 0> -1 <0 1 0 1 0> -2 <0 0 0 0 0> - */ -// struct sq{ -// sq* N; -// sq* S; -// sq* E; -// sq* W; -// int count; -// }; - - -char turn_left(char); -char turn_right(char); - -int main(){ - int b, w, count[100][100]={0}; - vector<char> sq[100]; - string s; - - cin>>b>>w; - while(b>0){ - int count[100][100]={0}; - vector<char> sq[100]; - string s; - - for(int i=0;i<b;i++){ - cin>>s; - for(int j=0;j<w;j++) - sq[i].push_back(s[j]); - } - - int j = 0, i=b-1; - int wallj = 0, walli=b; - char dir='E'; - bool returned=false; - - while(!returned){ - if((walli<b && walli>=0) && (wallj>=0 && wallj<w)) - if(sq[walli][wallj]=='0'){ - if(dir=='S'){ - walli--; - wallj++; - } - else if(dir=='W'){ - walli++; - wallj++; - } - else if(dir=='N'){ - walli++; - wallj--; - } - else if(dir=='E'){ - walli--; - wallj--; - } - dir = turn_right(dir); - } - - if(dir=='E'){ - if(j+1<w && sq[i][j+1]=='0'){ - j++; - wallj++; - count[i][j]++; - } - else{ - dir = turn_left(dir); - walli--; - wallj++; - } - } - else if(dir=='N'){ - if(i-1>=0 && sq[i-1][j]=='0'){ - i--; - walli--; - count[i][j]++; - } - else{ - dir = turn_left(dir); - walli--; - wallj--; - } - } - else if(dir=='W'){ - if(j-1>=0 && sq[i][j-1]=='0'){ - j--; - wallj--; - count[i][j]++; - } - else{ - dir = turn_left(dir); - walli++; - wallj--; - } - } - else if(dir=='S'){ - if(i+1<b && sq[i+1][j]=='0'){ - i++; - walli++; - count[i][j]++; - } - else{ - dir = turn_left(dir); - walli++; - wallj++; - } - } - - if(i==b-1 && j==0) - returned = true; - } - - int visited[5]={0}; - for(int i=0; i<b; i++){ - for(int j=0; j<w; j++){ - if(count[i][j]>4) - continue; - else if(sq[i][j]=='0') - visited[count[i][j]]++; - } - } - for(int k=0; k<5; k++) - cout<<right<<setw(3)<<visited[k]; - cout<<endl; - cin>>b>>w; - } -} - -char turn_left(char dir){ - char new_dir; - if(dir=='E') - new_dir = 'N'; - else if(dir=='N') - new_dir = 'W'; - else if(dir=='W') - new_dir = 'S'; - else if(dir == 'S') - new_dir = 'E'; - return new_dir; -} - -char turn_right(char dir){ - char new_dir; - if(dir=='E') - new_dir = 'S'; - else if(dir=='N') - new_dir = 'E'; - else if(dir=='W') - new_dir = 'N'; - else if(dir == 'S') - new_dir = 'W'; - return new_dir; -} diff --git a/amazing/amazing.in b/amazing/amazing.in deleted file mode 100644 index 52d676a..0000000 --- a/amazing/amazing.in +++ /dev/null @@ -1,108 +0,0 @@ -11 10 -0010000100 -0100000001 -0100000100 -1010000000 -0001000000 -0000000000 -0011011000 -0010000001 -0101000000 -0000000011 -0010100101 -2 24 -001100010000000000000000 -000010101100101000001010 -12 28 -1000100000101000010000100100 -0001001000000001001001000010 -0000000000000100000001000100 -1000011100000000000100000001 -0001000100010010000011000010 -0000100000000000000001101000 -0000000000000000001010000000 -0100000000010010000000100000 -0001000000110000101010100100 -0000110000001101000000001000 -0000100000111001000000100000 -0001101100000010111010111100 -29 6 -000000 -111000 -110011 -000000 -110011 -000000 -000100 -101000 -000000 -000100 -100001 -000100 -010000 -001010 -000000 -001010 -100110 -001100 -110000 -001000 -000001 -000100 -100000 -000000 -001000 -001100 -000000 -010000 -000000 -8 27 -110100000100000100010000000 -000000000001010101010000001 -000110110000010000010000001 -000100100001000001000000000 -000000001000111101000010010 -001000100100110001000010100 -001000000011000000000101000 -000000000000000100000001000 -11 24 -010000100000000001001001 -000000000101001000000110 -010000000010000000000101 -010010001100000001000001 -000100000000000000100100 -000100011010100000101000 -001001000100000000100101 -001001110000000000000001 -110011001000100001000000 -000000001000100100110100 -000010100000000000011001 -8 29 -01000110000000000000010000000 -11010101000000000011000000000 -00000000100100100000000000000 -11000100011000000000001010000 -00000001111000100000000000000 -00000011000000000000100100100 -00011100000111001100100000000 -00110000001000100000100011100 -5 3 -001 -010 -100 -000 -000 -9 3 -011 -000 -011 -000 -000 -000 -000 -000 -000 -2 11 -00000000001 -00111001000 -0 0
\ No newline at end of file diff --git a/amazing/amazing.py b/amazing/amazing.py deleted file mode 100644 index 6df6194..0000000 --- a/amazing/amazing.py +++ /dev/null @@ -1,4 +0,0 @@ - - -class square: - diff --git a/amazing/backup b/amazing/backup deleted file mode 100644 index 2ffcb12..0000000 --- a/amazing/backup +++ /dev/null @@ -1,126 +0,0 @@ -#include <iostream> -#include <string> -#include <vector> -using namespace std; -/* -rows -j 0 1 2 3 4 -i -0 <0 1 0 1 0> -1 <0 1 0 1 0> -2 <0 0 0 0 0> - */ -// struct sq{ -// sq* N; -// sq* S; -// sq* E; -// sq* W; -// int count; -// }; - - -char turn_left(char); -char turn_right(char); - -int main(){ - int b, w, count[100][100]={0}; - vector<char> sq[100]; - string s; - - cin>>b>>w; - while(b>0){ - for(int i=0;i<b;i++){ - cin>>s; - for(int j=0;j<w;j++) - sq[i]; - } - - int j = 0, i=b-1; - int wallj = 0, walli=b; - char dir='E'; - bool returned=false; - - while(!returned){ - count[i][j]++; - - if(sq[walli][wallj]==0) - dir = turn_right(dir); - - if(dir=='E'){ - if(j+1<w && sq[i][j+1]=='0'){ - j++; - wallj++; - } - else - dir = turn_left(dir); - } - else if(dir=='N'){ - if(i-1>=0 && sq[i-1][j]=='0'){ - i--; - walli--; - } - else - dir = turn_left(dir); - } - else if(dir=='W'){ - if(j-1>=0 && sq[i][j-1]=='0'){ - j--; - wallj--; - } - else - dir = turn_left(dir); - } - else if(dir=='S'){ - if(i+1<b && sq[i+1][j]=='0'){ - i++; - walli++; - } - else - dir = turn_left(dir); - } - - if(i==b-1 && j==0) - returned = true; - } - - int visited[5]={0}; - for(int i=0; i<b; i++){ - for(int j=0; j<w; j++){ - if(count[i][j]>4) - continue; - else if(sq[i][j]=='0') - visited[count[i][j]]++; - } - } - for(int k=0; k<5; k++) - cout<<visited[k]<<" "; - cout<<endl; - cin>>b>>w; - } -} - -char turn_left(char dir){ - char new_dir; - if(dir=='E') - new_dir = 'N'; - else if(dir=='N') - new_dir = 'W'; - else if(dir=='W') - new_dir = 'S'; - else if(dir == 'S') - new_dir = 'E'; - return new_dir; -} - -char turn_right(char dir){ - char new_dir; - if(dir=='E') - new_dir = 'S'; - else if(dir=='N') - new_dir = 'E'; - else if(dir=='W') - new_dir = 'N'; - else if(dir == 'S') - new_dir = 'W'; - return new_dir; -} |
