summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--10114/lonesome.cpp38
-rwxr-xr-x10141/rfpbin0 -> 63128 bytes
-rw-r--r--10141/rfp.cpp37
-rw-r--r--10141/rfp.in32
-rwxr-xr-x12060/averagebin0 -> 35696 bytes
-rw-r--r--12060/average.cpp119
-rw-r--r--12060/average.in8
-rwxr-xr-x12085/mobilebin0 -> 77120 bytes
-rw-r--r--12085/mobile.c17
-rw-r--r--12085/mobile.cpp49
-rw-r--r--12085/mobile.in540
-rwxr-xr-x556/amazingbin0 -> 102112 bytes
-rw-r--r--556/amazing.cpp163
-rw-r--r--556/amazing.in108
-rw-r--r--556/amazing.py4
-rw-r--r--556/backup126
16 files changed, 1241 insertions, 0 deletions
diff --git a/10114/lonesome.cpp b/10114/lonesome.cpp
new file mode 100644
index 0000000..8c13b11
--- /dev/null
+++ b/10114/lonesome.cpp
@@ -0,0 +1,38 @@
+#include <iostream>
+using namespace std;
+
+int main()
+{
+ int dur;
+ cin>>dur;
+ while(dur>0)
+ {
+ int deprecs, months, depmonth, i;
+ double dwp, amt, val, cur_depval, iments, deps[100]={0.0};
+ bool nend;
+
+ cin>>dwp>>amt>>deprecs;
+ for(i=0;i<deprecs;i++)
+ cin>>depmonth>>deps[depmonth];
+
+ val = dwp+amt;
+ iments = amt/dur;
+ nend = true;
+
+ for(months=0; ; ++months)
+ {
+ if(deps[months]>0)
+ cur_depval=deps[months];
+ val -= val*cur_depval;
+ if(val>amt)
+ break;
+ amt -= iments;
+ }
+ if(months==1)
+ cout<<months<<" month\n";
+ else
+ cout<<months<<" months\n";
+ cin>>dur;
+ }
+ return 0;
+}
diff --git a/10141/rfp b/10141/rfp
new file mode 100755
index 0000000..d71b577
--- /dev/null
+++ b/10141/rfp
Binary files differ
diff --git a/10141/rfp.cpp b/10141/rfp.cpp
new file mode 100644
index 0000000..2a4f918
--- /dev/null
+++ b/10141/rfp.cpp
@@ -0,0 +1,37 @@
+#include <iostream>
+#include <string>
+using namespace std;
+
+int main(){
+ float req, pro;
+ cin>>req>>pro;
+ int rfpnum=0;
+ while(req>0)
+ {
+ int i, j, k;
+ float cost,curcost=1000000000, comp, curcomp=0, numcomp;
+ string trash, curname, name;
+ ++rfpnum;
+ for(i=0; i<=req; i++)
+ getline(cin, trash);
+
+ for(j=0; j<pro; j++){
+ getline(cin, name);
+ cin>>cost>>numcomp;
+ comp = numcomp/req;
+
+ if(comp>curcomp || (comp==curcomp && cost<curcost)){
+ curname = name;
+ curcomp = comp;
+ curcost = cost;
+ }
+
+ for(k=0;k<=numcomp;k++)
+ getline(cin, trash);
+ }
+ if(rfpnum>1) cout<<"\n";
+ cout<<"RFP #"<<rfpnum<<"\n"<<curname<<"\n";
+ cin>>req>>pro;
+ }
+ return 0;
+}
diff --git a/10141/rfp.in b/10141/rfp.in
new file mode 100644
index 0000000..f0bc2d6
--- /dev/null
+++ b/10141/rfp.in
@@ -0,0 +1,32 @@
+6 4
+engine
+brakes
+tires
+ashtray
+vinyl roof
+trip computer
+Chevrolet
+20000.00 3
+engine
+tires
+brakes
+Cadillac
+70000.00 4
+ashtray
+vinyl roof
+trip computer
+engine
+Hyundai
+10000.00 3
+engine
+tires
+ashtray
+Lada
+6000.00 1
+tires
+1 1
+coffee
+Starbucks
+1.50 1
+coffee
+0 0 \ No newline at end of file
diff --git a/12060/average b/12060/average
new file mode 100755
index 0000000..557795a
--- /dev/null
+++ b/12060/average
Binary files differ
diff --git a/12060/average.cpp b/12060/average.cpp
new file mode 100644
index 0000000..5627b61
--- /dev/null
+++ b/12060/average.cpp
@@ -0,0 +1,119 @@
+#include <iostream>
+#include <cmath>
+#include <iomanip>
+using namespace std;
+
+int find_gcd(int a, int b);
+void printer(int c, int q, int num, int deno);
+
+int main(){
+ int n, cnum=0;
+ cin>>n;
+
+ while(n>0){
+ cnum++;
+ int nm, sum=0;
+ for(int i=0; i<n; i++){
+ cin>>nm;
+ sum += nm;
+ }
+ int gcd;
+ int deno, num, q;
+ if(abs(sum)>=n){
+ if(sum % n == 0){
+ num = sum/n;
+ deno = 0;
+ q = 0;
+ }
+ else{
+ gcd = find_gcd(sum,n);
+ while(gcd != 1){
+ sum /= gcd;
+ n /= gcd;
+ gcd = find_gcd(sum,n);
+ }
+ q = (sum-(sum%n))/n;
+ num = sum%n;
+ deno = n;
+ }
+ }
+ else{ //abs(sum)<n
+ gcd = find_gcd(n,sum);
+ while(gcd != 1){
+ sum /= gcd;
+ n /= gcd;
+ gcd = find_gcd(n,sum);
+ }
+ q = 0;
+ num = sum;
+ deno = n;
+ }
+ printer(cnum, q, num, deno);
+ cin >> n;
+
+ }
+}
+
+void printer(int c, int q, int num, int deno){
+ int dl=0, ql=0, nl=0, x=deno, y=q, z = num;
+ while (x /= 10)
+ dl++;
+ while(y /= 10)
+ ql++;
+ while(z /= 10)
+ nl++;
+ if(deno == 1 || deno == 0){
+ if(num<0)
+ cout<<"Case "<<c<<":\n"<<"- "<<abs(num)<<endl;
+ else
+ cout<<"Case "<<c<<":\n"<<num<<endl;
+ }
+ else if(q == 0){
+ if(num<0 || deno<0){
+ cout<<"Case "<<c<<":\n";
+ for(int k=0;k<dl+2;k++) cout<<" ";
+ cout<<abs(num)<<endl;
+ cout<<"- ";
+ for(int k=0;k<dl+1;k++) cout<<"-";
+ cout<<endl;
+ cout<<" "<<abs(deno)<<endl;
+ }
+ else{
+ cout<<"Case "<<c<<":\n";
+ for(int k=0;k<dl;k++) cout<<" ";
+ cout<<abs(num)<<endl;
+ for(int k=0;k<dl+1;k++) cout<<"-";
+ cout<<endl;
+ cout<<abs(deno)<<endl;
+ }
+ }
+ else{
+ if(num<0 || deno<0){
+ cout<<"Case "<<c<<":\n";
+ for(int k=0;k<dl+2+ql-nl+1;k++) cout<<" ";
+ cout<<abs(num)<<endl;
+ cout<<"- "<<abs(q);
+ for(int k=0;k<dl+1;k++) cout<<"-";
+ cout<<endl;
+ for(int k=0;k<3+ql;k++) cout<<" ";
+ cout<<abs(deno)<<endl;
+ }
+ else{
+ cout<<"Case "<<c<<":\n";
+ for(int k=0;k<dl+1+ql-nl;k++) cout<<" ";
+ cout<<num<<endl;
+ cout<<q;
+ for(int k=0;k<dl+1;k++) cout<<"-";
+ cout<<endl;
+ for(int k=0;k<2+ql-1;k++) cout<<" ";
+ cout<<deno<<endl;
+ }
+ }
+}
+
+int find_gcd(int a, int b){
+ if(b==0)
+ return a;
+ else
+ return find_gcd(b, a % b);
+}
diff --git a/12060/average.in b/12060/average.in
new file mode 100644
index 0000000..6ae00d8
--- /dev/null
+++ b/12060/average.in
@@ -0,0 +1,8 @@
+2 -1 1
+100 4 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1
+100 -8 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1
+1 -10000
+1 10000
+100 -909 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000
+100 -99 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
+0
diff --git a/12085/mobile b/12085/mobile
new file mode 100755
index 0000000..d2a44e4
--- /dev/null
+++ b/12085/mobile
Binary files differ
diff --git a/12085/mobile.c b/12085/mobile.c
new file mode 100644
index 0000000..3d65be9
--- /dev/null
+++ b/12085/mobile.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+int main(){
+ int n;
+ cin>>n;
+ while(n>0){
+ int i, nums[100000];
+ for(i=0; i<n; i++)
+ cin>>nums[i];
+ for(i=n-2; i>=0; i--){
+ while(nums[i+1]-nums[i]==1){
+ nums[i]=0;
+ }
+ }
+ cin>>n
+ }
+}
diff --git a/12085/mobile.cpp b/12085/mobile.cpp
new file mode 100644
index 0000000..8daba81
--- /dev/null
+++ b/12085/mobile.cpp
@@ -0,0 +1,49 @@
+#include <iostream>
+#include <string>
+#include <math.h>
+using namespace std;
+
+void print_range(int, int, int);
+
+int main(){
+ int n, c=0;
+ cin>>n;
+ while(n>0){
+ cout<<"Case "<<++c<<":\n";
+ int i, nums[100000];
+ for(i=0; i<n; i++)
+ cin>>nums[i];
+
+ int higher, lower, len=1, temp = nums[0];
+ while(temp /= 10)
+ len++;
+
+ for(i=0; i<n; i++){
+ if(nums[i+1]-nums[i]==1){
+ lower = nums[i];
+ while(nums[i+1]-nums[i]==1){
+ i++;
+ }
+ higher = nums[i];
+ print_range(lower, higher, len);
+ }
+ else
+ cout<<"0"<<nums[i]<<endl;
+ }
+ cout<<endl;
+ cin>>n;
+ }
+}
+
+void print_range(int lower, int higher, int len){
+ int i, k;
+ string num;
+ for(i=len-1; ; i--){
+ if(lower/int(pow(10.0,i)) != higher/int(pow(10.0,i)))
+ break;
+ }
+ for(k=len-(i+1); k<len; k++){
+ num += to_string(higher)[k];
+ }
+ cout<<"0"<<lower<<"-"<<num<<endl;
+}
diff --git a/12085/mobile.in b/12085/mobile.in
new file mode 100644
index 0000000..33e6c07
--- /dev/null
+++ b/12085/mobile.in
@@ -0,0 +1,540 @@
+44
+01953
+01954
+01955
+01956
+01957
+01958
+01959
+01960
+01961
+01962
+01963
+01964
+01965
+01966
+01967
+01968
+01969
+01970
+01971
+01972
+01973
+01974
+01975
+01976
+01977
+01978
+01979
+01980
+01981
+01982
+01983
+01984
+01985
+01986
+01987
+01988
+01989
+01990
+01991
+01992
+01993
+01999
+02000
+02001
+85
+09830
+09831
+09832
+09833
+09834
+09835
+09836
+09837
+09838
+09839
+09840
+09841
+09842
+09843
+09844
+09845
+09846
+09847
+09848
+09849
+09850
+09851
+09852
+09853
+09854
+09855
+09856
+09857
+09858
+09859
+09860
+09861
+09862
+09863
+09864
+09865
+09866
+09867
+09868
+09869
+09870
+09871
+09872
+09873
+09874
+09875
+09876
+09877
+09878
+09879
+09880
+09881
+09882
+09883
+09884
+09885
+09886
+09890
+09891
+09892
+09893
+09894
+09895
+09896
+09897
+09898
+09901
+09902
+09903
+09904
+09905
+09906
+09907
+09908
+09909
+09910
+09911
+09912
+09913
+09914
+09915
+09917
+09918
+09919
+09920
+64
+02496
+02497
+02498
+02499
+02500
+02501
+02502
+02503
+02504
+02505
+02507
+02508
+02509
+02510
+02511
+02512
+02513
+02514
+02515
+02516
+02517
+02518
+02519
+02525
+02526
+02527
+02528
+02529
+02530
+02531
+02532
+02533
+02534
+02535
+02536
+02537
+02540
+02541
+02542
+02543
+02544
+02545
+02546
+02547
+02548
+02549
+02550
+02551
+02552
+02553
+02554
+02555
+02556
+02557
+02558
+02559
+02560
+02562
+02563
+02564
+02567
+02568
+02569
+02570
+42
+01013
+01014
+01015
+01016
+01017
+01018
+01019
+01020
+01021
+01022
+01023
+01024
+01025
+01026
+01027
+01028
+01029
+01030
+01031
+01032
+01033
+01036
+01037
+01038
+01039
+01040
+01041
+01042
+01043
+01044
+01045
+01046
+01047
+01048
+01049
+01050
+01051
+01052
+01053
+01054
+01055
+01056
+61
+09432
+09433
+09434
+09435
+09436
+09437
+09438
+09439
+09440
+09441
+09442
+09443
+09444
+09445
+09446
+09447
+09448
+09449
+09450
+09451
+09452
+09453
+09454
+09455
+09456
+09457
+09458
+09460
+09461
+09462
+09463
+09464
+09465
+09466
+09467
+09468
+09469
+09470
+09471
+09472
+09473
+09474
+09475
+09476
+09477
+09478
+09479
+09480
+09481
+09482
+09483
+09484
+09485
+09486
+09487
+09488
+09491
+09492
+09493
+09494
+09496
+43
+06931
+06932
+06933
+06934
+06935
+06936
+06937
+06938
+06939
+06940
+06941
+06942
+06943
+06944
+06945
+06946
+06947
+06948
+06949
+06950
+06951
+06952
+06953
+06954
+06955
+06956
+06957
+06958
+06959
+06960
+06961
+06962
+06963
+06964
+06967
+06968
+06969
+06970
+06971
+06972
+06974
+06975
+06981
+61
+08801
+08802
+08803
+08804
+08805
+08806
+08807
+08808
+08809
+08810
+08811
+08812
+08813
+08814
+08815
+08816
+08817
+08818
+08819
+08820
+08821
+08822
+08823
+08824
+08825
+08826
+08827
+08828
+08829
+08830
+08831
+08832
+08840
+08841
+08842
+08843
+08844
+08845
+08846
+08847
+08848
+08849
+08850
+08851
+08852
+08853
+08854
+08856
+08857
+08858
+08859
+08862
+08863
+08864
+08865
+08866
+08867
+08868
+08869
+08870
+08871
+14
+0825
+0826
+0827
+0828
+0829
+0830
+0831
+0832
+0833
+0834
+0835
+0836
+0837
+0838
+38
+07396
+07397
+07398
+07399
+07400
+07401
+07402
+07403
+07404
+07405
+07406
+07407
+07408
+07409
+07410
+07411
+07412
+07413
+07414
+07415
+07416
+07417
+07418
+07419
+07420
+07421
+07422
+07423
+07424
+07425
+07426
+07427
+07428
+07429
+07430
+07431
+07432
+07433
+77
+07587
+07588
+07589
+07590
+07591
+07593
+07594
+07595
+07596
+07597
+07598
+07599
+07600
+07601
+07602
+07603
+07604
+07605
+07606
+07607
+07608
+07609
+07610
+07611
+07612
+07613
+07614
+07615
+07616
+07617
+07618
+07619
+07620
+07621
+07622
+07623
+07624
+07625
+07626
+07627
+07628
+07629
+07630
+07631
+07632
+07633
+07634
+07635
+07636
+07637
+07638
+07639
+07640
+07641
+07642
+07643
+07644
+07645
+07646
+07647
+07648
+07649
+07650
+07651
+07652
+07653
+07654
+07655
+07656
+07657
+07658
+07659
+07660
+07661
+07662
+07663
+07666
+0
diff --git a/556/amazing b/556/amazing
new file mode 100755
index 0000000..9a65934
--- /dev/null
+++ b/556/amazing
Binary files differ
diff --git a/556/amazing.cpp b/556/amazing.cpp
new file mode 100644
index 0000000..e9bc8d6
--- /dev/null
+++ b/556/amazing.cpp
@@ -0,0 +1,163 @@
+#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/556/amazing.in b/556/amazing.in
new file mode 100644
index 0000000..52d676a
--- /dev/null
+++ b/556/amazing.in
@@ -0,0 +1,108 @@
+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/556/amazing.py b/556/amazing.py
new file mode 100644
index 0000000..6df6194
--- /dev/null
+++ b/556/amazing.py
@@ -0,0 +1,4 @@
+
+
+class square:
+
diff --git a/556/backup b/556/backup
new file mode 100644
index 0000000..2ffcb12
--- /dev/null
+++ b/556/backup
@@ -0,0 +1,126 @@
+#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;
+}