From b05e4d73f992aa8de779fa06fff968d4acdd7560 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Mon, 18 Apr 2011 15:46:33 +0300 Subject: moved stuff in a --- 2010/1a/1.in | 25 --- 2010/1a/1.out | 4 - 2010/1a/2.in | 519 -------------------------------------------------------- 2010/1a/2.out | 100 ----------- 2010/1a/3.in | 0 2010/1a/3.out | 0 2010/1a/a.py | 61 ------- 2010/1a/a/1.in | 25 +++ 2010/1a/a/1.out | 4 + 2010/1a/a/2.in | 519 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2010/1a/a/2.out | 100 +++++++++++ 2010/1a/a/3.in | 0 2010/1a/a/3.out | 0 2010/1a/a/a.py | 61 +++++++ 14 files changed, 709 insertions(+), 709 deletions(-) delete mode 100644 2010/1a/1.in delete mode 100644 2010/1a/1.out delete mode 100644 2010/1a/2.in delete mode 100644 2010/1a/2.out delete mode 100644 2010/1a/3.in delete mode 100644 2010/1a/3.out delete mode 100644 2010/1a/a.py create mode 100644 2010/1a/a/1.in create mode 100644 2010/1a/a/1.out create mode 100644 2010/1a/a/2.in create mode 100644 2010/1a/a/2.out create mode 100644 2010/1a/a/3.in create mode 100644 2010/1a/a/3.out create mode 100644 2010/1a/a/a.py (limited to '2010/1a') diff --git a/2010/1a/1.in b/2010/1a/1.in deleted file mode 100644 index 64b1917..0000000 --- a/2010/1a/1.in +++ /dev/null @@ -1,25 +0,0 @@ -4 -7 3 -....... -....... -....... -...R... -...BB.. -..BRB.. -.RRBR.. -6 4 -...... -...... -.R...R -.R..BB -.R.RBR -RB.BBB -4 4 -R... -BR.. -BR.. -BR.. -3 3 -B.. -RB. -RB. \ No newline at end of file diff --git a/2010/1a/1.out b/2010/1a/1.out deleted file mode 100644 index 5d8f168..0000000 --- a/2010/1a/1.out +++ /dev/null @@ -1,4 +0,0 @@ -Case #1: Neither -Case #2: Both -Case #3: Red -Case #4: Blue diff --git a/2010/1a/2.in b/2010/1a/2.in deleted file mode 100644 index 50061c0..0000000 --- a/2010/1a/2.in +++ /dev/null @@ -1,519 +0,0 @@ -100 -7 3 -....... -....... -....... -...R... -...BB.. -..BRB.. -.RRBR.. -6 4 -...... -...... -.R...R -.R..BB -.R.RBR -RB.BBB -4 4 -R... -BR.. -BR.. -BR.. -3 3 -... -... -... -3 3 -B.B -RBR -RBR -3 3 -RB. -RRB -BRB -3 3 -R.. -BRR -RBB -3 3 -RB. -RB. -BRR -3 3 -..R -BRB -BRR -3 3 -... -..B -.RR -3 3 -... -... -... -3 3 -.B. -RB. -RRB -3 3 -... -... -R.B -3 3 -B.B -RBR -RBR -3 3 -..R -R.B -RBB -3 3 -... -R.B -R.B -3 3 -... -... -... -3 3 -BR. -BR. -RBR -3 3 -BB. -RBR -BRR -3 3 -... -... -R.. -3 3 -BR. -BR. -RBR -3 3 -B.. -RBR -BRR -3 3 -BR. -RB. -RBR -3 3 -R.. -BRB -RRB -3 3 -BR. -BRB -RBR -3 3 -RB. -RRB -BRB -3 3 -RB. -RBB -BRR -3 3 -.RB -.BR -RRB -3 3 -..R -.BB -BRR -3 3 -.B. -.BR -BRR -3 3 -RB. -BRB -RRB -3 3 -RB. -BRB -RRB -3 3 -B.R -RBB -RBR -3 3 -BB. -RRB -RRB -3 3 -R.. -R.. -BBR -3 3 -.B. -BR. -BRR -3 3 -... -.B. -.R. -3 3 -RB. -RRB -BRB -3 3 -.R. -BRB -RBR -3 3 -... -... -RRB -3 3 -.B. -.BR -BRR -3 3 -RB. -RBB -BRR -3 3 -B.R -RBB -RBR -3 3 -... -.RB -BRR -3 3 -... -... -.RB -3 3 -.B. -RB. -RRB -3 3 -R.. -BBR -RBR -3 3 -.R. -BBR -RBR -3 3 -RB. -RBB -BRR -3 3 -R.. -B.B -R.R -3 3 -RB. -BRB -RRB -3 3 -.B. -.RR -BRB -3 3 -B.R -RBB -RBR -3 3 -.R. -BRR -BBR -3 3 -RR. -RB. -BRB -3 3 -..R -.RB -BRB -3 3 -..B -B.R -BRR -3 3 -.R. -BBR -BRR -4 3 -R... -B... -B.B. -RBRR -4 3 -R..B -BR.R -BR.B -RBRB -4 3 -..B. -..R. -.RR. -BRBB -4 3 -..B. -R.R. -B.BB -R.RR -4 3 -.R.R -BB.B -RRBB -RRBR -4 3 -R.RR -B.BR -R.BB -BBRR -4 3 -R..B -R..B -BBRR -BRRB -4 3 -.B.. -.BR. -RRB. -BRBR -4 3 -.... -R..B -BBRR -BBRR -4 3 -R.B. -BRR. -RBBR -BBRR -4 3 -.... -...B -RB.R -RBBR -4 3 -.... -RB.R -BB.R -BRRB -4 3 -B... -B... -RR.R -RBBR -4 3 -..BR -R.RR -B.BB -BBRR -5 3 -BR... -RR... -BB... -RRB.. -RRB.B -5 5 -..... -..... -....R -.B..B -.BRRR -5 3 -..... -..... -....B -RR..R -BRBRB -5 3 -R.... -B.... -BB.R. -RB.RR -RR.BB -5 3 -..... -...R. -...R. -.B.BB -.R.BR -5 5 -..... -..... -..... -..... -..... -5 4 -..... -..... -..... -RB... -BBRR. -5 3 -..... -B.R.. -R.B.. -B.R.. -RBBRR -7 4 -....... -....... -....... -B..R..R -B..R..B -R.BR.RB -R.BBRBR -7 3 -....... -....... -....... -....... -....... -....... -......R -7 3 -....... -....... -....... -....... -.R.R... -BB.BRB. -RRBRBBR -7 5 -..R...R -..R...B -..B..BR -B.RR.BB -BRBBBRR -RRRBRRR -RBRBBBB -7 3 -....... -.B..... -.R..... -.B..... -.B.R... -RR.R.RB -BRRBRBB -7 3 -....... -....... -....... -....... -....... -.R.R... -BB.B.RR -7 3 -....... -....... -....... -..R.... -B.B.RB. -BRR.BR. -RBR.RBB -7 3 -....... -.R..... -.B....R -BB.B.BB -RR.R.RR -BB.RRBR -RRBBRBB -7 3 -....... -....... -....... -....... -.....R. -.R...RB -RRBB.BB -7 3 -....... -....... -.....B. -.R...R. -.R...B. -RB...BB -BRRBRRB -7 3 -R...... -R...... -B...... -R...B.. -B...B.. -R.BRRBB -BRBRRBR -7 7 -....... -....... -....... -.....B. -.....R. -.....B. -RBBR.RR -7 3 -....... -....... -....... -....... -....B.. -....B.. -R.R.RBR -7 3 -....... -....... -....... -....R.. -B.B.RR. -B.R.BB. -RBRBBRR -7 3 -....... -....... -...R..B -..RB.BB -..RB.RR -..BR.RB -..RR.BB -7 3 -....... -....... -....... -....... -.B...R. -.R...R. -BR..BB. -7 3 -....... -....... -....... -....... -B..R..R -BR.R.BB -RR.B.BR -7 5 -..R..B. -.RB..B. -.BRR.R. -.RRB.B. -.BRR.R. -BBRBBR. -RBBBRBR -7 4 -....... -....... -....... -....... -....... -....... -BR.RB.. -7 5 -....... -....... -....... -....... -....... -.R..... -BBBRRRB diff --git a/2010/1a/2.out b/2010/1a/2.out deleted file mode 100644 index 2a133c2..0000000 --- a/2010/1a/2.out +++ /dev/null @@ -1,100 +0,0 @@ -Case #1: Neither -Case #2: Both -Case #3: Red -Case #4: Neither -Case #5: Blue -Case #6: Both -Case #7: Red -Case #8: Red -Case #9: Neither -Case #10: Neither -Case #11: Neither -Case #12: Blue -Case #13: Neither -Case #14: Blue -Case #15: Red -Case #16: Neither -Case #17: Neither -Case #18: Both -Case #19: Blue -Case #20: Neither -Case #21: Both -Case #22: Blue -Case #23: Red -Case #24: Red -Case #25: Red -Case #26: Both -Case #27: Blue -Case #28: Neither -Case #29: Neither -Case #30: Blue -Case #31: Both -Case #32: Both -Case #33: Blue -Case #34: Blue -Case #35: Red -Case #36: Blue -Case #37: Neither -Case #38: Both -Case #39: Red -Case #40: Neither -Case #41: Blue -Case #42: Blue -Case #43: Blue -Case #44: Neither -Case #45: Neither -Case #46: Blue -Case #47: Red -Case #48: Red -Case #49: Blue -Case #50: Neither -Case #51: Both -Case #52: Neither -Case #53: Blue -Case #54: Red -Case #55: Red -Case #56: Neither -Case #57: Blue -Case #58: Red -Case #59: Blue -Case #60: Both -Case #61: Red -Case #62: Both -Case #63: Blue -Case #64: Red -Case #65: Red -Case #66: Red -Case #67: Red -Case #68: Both -Case #69: Blue -Case #70: Blue -Case #71: Red -Case #72: Both -Case #73: Blue -Case #74: Neither -Case #75: Red -Case #76: Both -Case #77: Blue -Case #78: Neither -Case #79: Neither -Case #80: Blue -Case #81: Neither -Case #82: Neither -Case #83: Blue -Case #84: Neither -Case #85: Red -Case #86: Blue -Case #87: Both -Case #88: Both -Case #89: Blue -Case #90: Blue -Case #91: Blue -Case #92: Neither -Case #93: Red -Case #94: Both -Case #95: Both -Case #96: Red -Case #97: Red -Case #98: Neither -Case #99: Neither -Case #100: Neither diff --git a/2010/1a/3.in b/2010/1a/3.in deleted file mode 100644 index e69de29..0000000 diff --git a/2010/1a/3.out b/2010/1a/3.out deleted file mode 100644 index e69de29..0000000 diff --git a/2010/1a/a.py b/2010/1a/a.py deleted file mode 100644 index e3040a1..0000000 --- a/2010/1a/a.py +++ /dev/null @@ -1,61 +0,0 @@ -f = open('2.in', 'r') -o = open('2.out', 'w') - -def cols(m): - n = len(m) - return [''.join([m[j][i] for j in range(n)]) for i in range(n)] - -def diag(m): - n = len(m) - d = [zip(range(i+1) ,range(i+1)[::-1]) for i in range(n)] - d += [zip(range(i+1, n) ,range(i+1, n)[::-1]) for i in range(n-1)] - return [''.join([m[i][j] for (i,j) in diag]) for diag in d] - -def diag_inv(m): - n = len(m) - d = [zip(range(i+1),range(i+1)[::-1]) for i in range(n)] - d += [zip(range(i+1, n) ,range(i+1, n)[::-1]) for i in range(n-1)] - return [''.join([m[n-1-i][j] for (i,j) in diag]) for diag in d] - -def rotate(m): - n = len(m) - return [''.join([m[j][i] for j in range(n)[::-1]]) for i in range(n)] - -def droprow(r): - return '.' * r.count('.') + r.replace('.','') - -def gravity(m): - return map(droprow, m) - -def winrow(r, k): - res = 0 - if r.find('B'*k) != -1: - res |= 1 - if r.find('R'*k) != -1: - res |= 2 - return res - -def win(m, k): - R = ['Neither', 'Blue', 'Red', 'Both'] - win = 0 - for row in m: - win |= winrow(row, k) - for col in cols(m): - win |= winrow(col, k) - for dia in diag(m): - win |= winrow(dia, k) - for idia in diag_inv(m): - win |= winrow(idia, k) - return R[win] - -t = int(f.readline().strip()) - -for i in range(t): - (n, k) = map(int, f.readline().strip().split(' ')) - - mat = [f.readline().strip() for j in range(n)] - mat = rotate(gravity(mat)) - - s = "Case #%d: %s\n" % (i+1, win(mat, k)) - print s - o.write(s) diff --git a/2010/1a/a/1.in b/2010/1a/a/1.in new file mode 100644 index 0000000..64b1917 --- /dev/null +++ b/2010/1a/a/1.in @@ -0,0 +1,25 @@ +4 +7 3 +....... +....... +....... +...R... +...BB.. +..BRB.. +.RRBR.. +6 4 +...... +...... +.R...R +.R..BB +.R.RBR +RB.BBB +4 4 +R... +BR.. +BR.. +BR.. +3 3 +B.. +RB. +RB. \ No newline at end of file diff --git a/2010/1a/a/1.out b/2010/1a/a/1.out new file mode 100644 index 0000000..5d8f168 --- /dev/null +++ b/2010/1a/a/1.out @@ -0,0 +1,4 @@ +Case #1: Neither +Case #2: Both +Case #3: Red +Case #4: Blue diff --git a/2010/1a/a/2.in b/2010/1a/a/2.in new file mode 100644 index 0000000..50061c0 --- /dev/null +++ b/2010/1a/a/2.in @@ -0,0 +1,519 @@ +100 +7 3 +....... +....... +....... +...R... +...BB.. +..BRB.. +.RRBR.. +6 4 +...... +...... +.R...R +.R..BB +.R.RBR +RB.BBB +4 4 +R... +BR.. +BR.. +BR.. +3 3 +... +... +... +3 3 +B.B +RBR +RBR +3 3 +RB. +RRB +BRB +3 3 +R.. +BRR +RBB +3 3 +RB. +RB. +BRR +3 3 +..R +BRB +BRR +3 3 +... +..B +.RR +3 3 +... +... +... +3 3 +.B. +RB. +RRB +3 3 +... +... +R.B +3 3 +B.B +RBR +RBR +3 3 +..R +R.B +RBB +3 3 +... +R.B +R.B +3 3 +... +... +... +3 3 +BR. +BR. +RBR +3 3 +BB. +RBR +BRR +3 3 +... +... +R.. +3 3 +BR. +BR. +RBR +3 3 +B.. +RBR +BRR +3 3 +BR. +RB. +RBR +3 3 +R.. +BRB +RRB +3 3 +BR. +BRB +RBR +3 3 +RB. +RRB +BRB +3 3 +RB. +RBB +BRR +3 3 +.RB +.BR +RRB +3 3 +..R +.BB +BRR +3 3 +.B. +.BR +BRR +3 3 +RB. +BRB +RRB +3 3 +RB. +BRB +RRB +3 3 +B.R +RBB +RBR +3 3 +BB. +RRB +RRB +3 3 +R.. +R.. +BBR +3 3 +.B. +BR. +BRR +3 3 +... +.B. +.R. +3 3 +RB. +RRB +BRB +3 3 +.R. +BRB +RBR +3 3 +... +... +RRB +3 3 +.B. +.BR +BRR +3 3 +RB. +RBB +BRR +3 3 +B.R +RBB +RBR +3 3 +... +.RB +BRR +3 3 +... +... +.RB +3 3 +.B. +RB. +RRB +3 3 +R.. +BBR +RBR +3 3 +.R. +BBR +RBR +3 3 +RB. +RBB +BRR +3 3 +R.. +B.B +R.R +3 3 +RB. +BRB +RRB +3 3 +.B. +.RR +BRB +3 3 +B.R +RBB +RBR +3 3 +.R. +BRR +BBR +3 3 +RR. +RB. +BRB +3 3 +..R +.RB +BRB +3 3 +..B +B.R +BRR +3 3 +.R. +BBR +BRR +4 3 +R... +B... +B.B. +RBRR +4 3 +R..B +BR.R +BR.B +RBRB +4 3 +..B. +..R. +.RR. +BRBB +4 3 +..B. +R.R. +B.BB +R.RR +4 3 +.R.R +BB.B +RRBB +RRBR +4 3 +R.RR +B.BR +R.BB +BBRR +4 3 +R..B +R..B +BBRR +BRRB +4 3 +.B.. +.BR. +RRB. +BRBR +4 3 +.... +R..B +BBRR +BBRR +4 3 +R.B. +BRR. +RBBR +BBRR +4 3 +.... +...B +RB.R +RBBR +4 3 +.... +RB.R +BB.R +BRRB +4 3 +B... +B... +RR.R +RBBR +4 3 +..BR +R.RR +B.BB +BBRR +5 3 +BR... +RR... +BB... +RRB.. +RRB.B +5 5 +..... +..... +....R +.B..B +.BRRR +5 3 +..... +..... +....B +RR..R +BRBRB +5 3 +R.... +B.... +BB.R. +RB.RR +RR.BB +5 3 +..... +...R. +...R. +.B.BB +.R.BR +5 5 +..... +..... +..... +..... +..... +5 4 +..... +..... +..... +RB... +BBRR. +5 3 +..... +B.R.. +R.B.. +B.R.. +RBBRR +7 4 +....... +....... +....... +B..R..R +B..R..B +R.BR.RB +R.BBRBR +7 3 +....... +....... +....... +....... +....... +....... +......R +7 3 +....... +....... +....... +....... +.R.R... +BB.BRB. +RRBRBBR +7 5 +..R...R +..R...B +..B..BR +B.RR.BB +BRBBBRR +RRRBRRR +RBRBBBB +7 3 +....... +.B..... +.R..... +.B..... +.B.R... +RR.R.RB +BRRBRBB +7 3 +....... +....... +....... +....... +....... +.R.R... +BB.B.RR +7 3 +....... +....... +....... +..R.... +B.B.RB. +BRR.BR. +RBR.RBB +7 3 +....... +.R..... +.B....R +BB.B.BB +RR.R.RR +BB.RRBR +RRBBRBB +7 3 +....... +....... +....... +....... +.....R. +.R...RB +RRBB.BB +7 3 +....... +....... +.....B. +.R...R. +.R...B. +RB...BB +BRRBRRB +7 3 +R...... +R...... +B...... +R...B.. +B...B.. +R.BRRBB +BRBRRBR +7 7 +....... +....... +....... +.....B. +.....R. +.....B. +RBBR.RR +7 3 +....... +....... +....... +....... +....B.. +....B.. +R.R.RBR +7 3 +....... +....... +....... +....R.. +B.B.RR. +B.R.BB. +RBRBBRR +7 3 +....... +....... +...R..B +..RB.BB +..RB.RR +..BR.RB +..RR.BB +7 3 +....... +....... +....... +....... +.B...R. +.R...R. +BR..BB. +7 3 +....... +....... +....... +....... +B..R..R +BR.R.BB +RR.B.BR +7 5 +..R..B. +.RB..B. +.BRR.R. +.RRB.B. +.BRR.R. +BBRBBR. +RBBBRBR +7 4 +....... +....... +....... +....... +....... +....... +BR.RB.. +7 5 +....... +....... +....... +....... +....... +.R..... +BBBRRRB diff --git a/2010/1a/a/2.out b/2010/1a/a/2.out new file mode 100644 index 0000000..2a133c2 --- /dev/null +++ b/2010/1a/a/2.out @@ -0,0 +1,100 @@ +Case #1: Neither +Case #2: Both +Case #3: Red +Case #4: Neither +Case #5: Blue +Case #6: Both +Case #7: Red +Case #8: Red +Case #9: Neither +Case #10: Neither +Case #11: Neither +Case #12: Blue +Case #13: Neither +Case #14: Blue +Case #15: Red +Case #16: Neither +Case #17: Neither +Case #18: Both +Case #19: Blue +Case #20: Neither +Case #21: Both +Case #22: Blue +Case #23: Red +Case #24: Red +Case #25: Red +Case #26: Both +Case #27: Blue +Case #28: Neither +Case #29: Neither +Case #30: Blue +Case #31: Both +Case #32: Both +Case #33: Blue +Case #34: Blue +Case #35: Red +Case #36: Blue +Case #37: Neither +Case #38: Both +Case #39: Red +Case #40: Neither +Case #41: Blue +Case #42: Blue +Case #43: Blue +Case #44: Neither +Case #45: Neither +Case #46: Blue +Case #47: Red +Case #48: Red +Case #49: Blue +Case #50: Neither +Case #51: Both +Case #52: Neither +Case #53: Blue +Case #54: Red +Case #55: Red +Case #56: Neither +Case #57: Blue +Case #58: Red +Case #59: Blue +Case #60: Both +Case #61: Red +Case #62: Both +Case #63: Blue +Case #64: Red +Case #65: Red +Case #66: Red +Case #67: Red +Case #68: Both +Case #69: Blue +Case #70: Blue +Case #71: Red +Case #72: Both +Case #73: Blue +Case #74: Neither +Case #75: Red +Case #76: Both +Case #77: Blue +Case #78: Neither +Case #79: Neither +Case #80: Blue +Case #81: Neither +Case #82: Neither +Case #83: Blue +Case #84: Neither +Case #85: Red +Case #86: Blue +Case #87: Both +Case #88: Both +Case #89: Blue +Case #90: Blue +Case #91: Blue +Case #92: Neither +Case #93: Red +Case #94: Both +Case #95: Both +Case #96: Red +Case #97: Red +Case #98: Neither +Case #99: Neither +Case #100: Neither diff --git a/2010/1a/a/3.in b/2010/1a/a/3.in new file mode 100644 index 0000000..e69de29 diff --git a/2010/1a/a/3.out b/2010/1a/a/3.out new file mode 100644 index 0000000..e69de29 diff --git a/2010/1a/a/a.py b/2010/1a/a/a.py new file mode 100644 index 0000000..e3040a1 --- /dev/null +++ b/2010/1a/a/a.py @@ -0,0 +1,61 @@ +f = open('2.in', 'r') +o = open('2.out', 'w') + +def cols(m): + n = len(m) + return [''.join([m[j][i] for j in range(n)]) for i in range(n)] + +def diag(m): + n = len(m) + d = [zip(range(i+1) ,range(i+1)[::-1]) for i in range(n)] + d += [zip(range(i+1, n) ,range(i+1, n)[::-1]) for i in range(n-1)] + return [''.join([m[i][j] for (i,j) in diag]) for diag in d] + +def diag_inv(m): + n = len(m) + d = [zip(range(i+1),range(i+1)[::-1]) for i in range(n)] + d += [zip(range(i+1, n) ,range(i+1, n)[::-1]) for i in range(n-1)] + return [''.join([m[n-1-i][j] for (i,j) in diag]) for diag in d] + +def rotate(m): + n = len(m) + return [''.join([m[j][i] for j in range(n)[::-1]]) for i in range(n)] + +def droprow(r): + return '.' * r.count('.') + r.replace('.','') + +def gravity(m): + return map(droprow, m) + +def winrow(r, k): + res = 0 + if r.find('B'*k) != -1: + res |= 1 + if r.find('R'*k) != -1: + res |= 2 + return res + +def win(m, k): + R = ['Neither', 'Blue', 'Red', 'Both'] + win = 0 + for row in m: + win |= winrow(row, k) + for col in cols(m): + win |= winrow(col, k) + for dia in diag(m): + win |= winrow(dia, k) + for idia in diag_inv(m): + win |= winrow(idia, k) + return R[win] + +t = int(f.readline().strip()) + +for i in range(t): + (n, k) = map(int, f.readline().strip().split(' ')) + + mat = [f.readline().strip() for j in range(n)] + mat = rotate(gravity(mat)) + + s = "Case #%d: %s\n" % (i+1, win(mat, k)) + print s + o.write(s) -- cgit v1.3.1