From 9c527196a980eae97df1749a413f0c2df3abfd7f Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Tue, 3 Oct 2017 12:32:17 +0530 Subject: [PATCH 1/6] FILLMTR (SEPT17) [Python] --- 2017/SEPT.md | 2 +- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 66 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py diff --git a/2017/SEPT.md b/2017/SEPT.md index 374a43f..c5eced3 100644 --- a/2017/SEPT.md +++ b/2017/SEPT.md @@ -13,7 +13,7 @@ | [SEPT17](https://www.codechef.com/SEPT17) | [MINPERM](https://www.codechef.com/SEPT17/problems/MINPERM) | ★★ | | | | [![image](../img/GH.png)](SEPT/SEPT17/MINPERM/MINPERM.py) [![image](../img/CC.png)](https://www.codechef.com/viewsolution/15236776) (100 pts) [![image](../img/AC.png)](#) | | [SEPT17](https://www.codechef.com/SEPT17) | [CHEFPDIG](https://www.codechef.com/SEPT17/problems/CHEFPDIG) | ★★★ | | | | | | [SEPT17](https://www.codechef.com/SEPT17) | [SEACO](https://www.codechef.com/SEPT17/problems/SEACO) | ★★★★ | | | | | -| [SEPT17](https://www.codechef.com/SEPT17) | [FILLMTR](https://www.codechef.com/SEPT17/problems/FILLMTR) | ★★★★ | | [![image](../img/CC.png)](https://www.codechef.com/viewsolution/15243260) [![image](../img/GH.png)](SEPT/SEPT17/FILLMTR/FILLMTR.cpp) (100 pts) [![image](../img/AC.png)](#) | | | +| [SEPT17](https://www.codechef.com/SEPT17) | [FILLMTR](https://www.codechef.com/SEPT17/problems/FILLMTR) | ★★★★ | | [![image](../img/CC.png)](https://www.codechef.com/viewsolution/15243260) [![image](../img/GH.png)](SEPT/SEPT17/FILLMTR/FILLMTR.cpp) (100 pts) [![image](../img/AC.png)](#) | | [![image](../img/GH.png)](SEPT/SEPT17/FILLMTR/FILLMTR.py) [![image](../img/CC.png)](https://www.codechef.com/viewsolution/15258986) (100 pts) [![image](../img/AC.png)](#) | | [SEPT17](https://www.codechef.com/SEPT17) | [WEASELTX](https://www.codechef.com/SEPT17/problems/WEASELTX) | ★★★★★ | | | | | | [SEPT17](https://www.codechef.com/SEPT17) | [SEAFUNC](https://www.codechef.com/SEPT17/problems/SEAFUNC) | ★★★★★ | | | | | | [SEPT17](https://www.codechef.com/SEPT17) | [SUMCUBE](https://www.codechef.com/SEPT17/problems/SUMCUBE) | ★★★★★★ | | | | | diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py new file mode 100644 index 0000000..406f5b4 --- /dev/null +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -0,0 +1,66 @@ +def main(): + t = int(raw_input()) + while t: + t-=1 + n = map(int,raw_input().split()) + q = n[1] + n = n[0] + queries = [] + good = [] + ans = 1 + for i in range(n): + good.append('a') + good.append('a') + for i in range(q): + a = map(int, raw_input().split()) + queries.append(a) + queries.sort() + for i in queries: + if(i[0]==i[1] and i[2]==1): + ans = 0 + break + elif(i[0]==i[1] and i[2]==0): + continue + else: + if(good[i[0]]=='a' and good[i[1]]=='a'): + if(i[2]==1): + good[i[0]]=1 + good[i[1]]=0 + else: + good[i[0]]=0 + good[i[1]]=0 + elif(good[i[0]]!='a' and good[i[1]]=='a'): + if(good[i[0]]==1): + if(i[2]==1): + good[i[1]]=0 + else: + good[i[1]]=1 + else: + if(i[2]==1): + good[i[1]]=1 + else: + good[i[1]]=0 + elif(good[i[0]]=='a' and good[i[1]]!='a'): + if(good[i[1]]==1): + if(i[2]==1): + good[i[0]]=0 + else: + good[i[0]]=1 + else: + if(i[2]==1): + good[i[0]]=1 + else: + good[i[0]]=0 + else: + if(abs(good[i[0]] - good[i[1]]) == i[2]): + continue + else: + ans = 0 + break + if(ans): + print "yes" + else: + print "no" + +if __name__ == '__main__': + main() \ No newline at end of file From 5be74d6005de2cb850f63dd9c8822dc9ba43f282 Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Wed, 4 Oct 2017 13:45:21 +0530 Subject: [PATCH 2/6] Update FILLMTR.py --- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py index 406f5b4..2d0719e 100644 --- a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -63,4 +63,5 @@ def main(): print "no" if __name__ == '__main__': - main() \ No newline at end of file + main() + From 64a44980558cf80794841668d2f5195eb2061fcc Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Wed, 4 Oct 2017 20:13:32 +0530 Subject: [PATCH 3/6] Add spaces around equal operator --- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py index 2d0719e..c6f9be9 100644 --- a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -24,33 +24,33 @@ def main(): else: if(good[i[0]]=='a' and good[i[1]]=='a'): if(i[2]==1): - good[i[0]]=1 - good[i[1]]=0 + good[i[0]] = 1 + good[i[1]] = 0 else: - good[i[0]]=0 - good[i[1]]=0 + good[i[0]] = 0 + good[i[1]] = 0 elif(good[i[0]]!='a' and good[i[1]]=='a'): if(good[i[0]]==1): if(i[2]==1): - good[i[1]]=0 + good[i[1]] = 0 else: - good[i[1]]=1 + good[i[1]] = 1 else: if(i[2]==1): - good[i[1]]=1 + good[i[1]] = 1 else: - good[i[1]]=0 + good[i[1]] = 0 elif(good[i[0]]=='a' and good[i[1]]!='a'): if(good[i[1]]==1): if(i[2]==1): - good[i[0]]=0 + good[i[0]] = 0 else: - good[i[0]]=1 + good[i[0]] = 1 else: if(i[2]==1): - good[i[0]]=1 + good[i[0]] = 1 else: - good[i[0]]=0 + good[i[0]] = 0 else: if(abs(good[i[0]] - good[i[1]]) == i[2]): continue From 7c62c75a1cc35b90d8c1ce914fa100a3f918a81d Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Wed, 4 Oct 2017 20:22:50 +0530 Subject: [PATCH 4/6] Complied to PEP8 --- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py index c6f9be9..2753a05 100644 --- a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -1,8 +1,8 @@ def main(): t = int(raw_input()) while t: - t-=1 - n = map(int,raw_input().split()) + t -= 1 + n = map(int, raw_input().split()) q = n[1] n = n[0] queries = [] @@ -16,38 +16,38 @@ def main(): queries.append(a) queries.sort() for i in queries: - if(i[0]==i[1] and i[2]==1): + if(i[0] == i[1] and i[2] == 1): ans = 0 break - elif(i[0]==i[1] and i[2]==0): + elif(i[0] == i[1] and i[2] == 0): continue else: - if(good[i[0]]=='a' and good[i[1]]=='a'): + if(good[i[0]] == 'a' and good[i[1]] == 'a'): if(i[2]==1): good[i[0]] = 1 good[i[1]] = 0 else: good[i[0]] = 0 good[i[1]] = 0 - elif(good[i[0]]!='a' and good[i[1]]=='a'): - if(good[i[0]]==1): - if(i[2]==1): + elif(good[i[0]] != 'a' and good[i[1]] == 'a'): + if(good[i[0]] == 1): + if(i[2] == 1): good[i[1]] = 0 else: good[i[1]] = 1 else: - if(i[2]==1): + if(i[2] == 1): good[i[1]] = 1 else: good[i[1]] = 0 - elif(good[i[0]]=='a' and good[i[1]]!='a'): - if(good[i[1]]==1): - if(i[2]==1): + elif(good[i[0]] == 'a' and good[i[1]] != 'a'): + if(good[i[1]] == 1): + if(i[2] == 1): good[i[0]] = 0 else: good[i[0]] = 1 else: - if(i[2]==1): + if(i[2] == 1): good[i[0]] = 1 else: good[i[0]] = 0 From 8584f6290a1b183e96a928e813c354c67d250ad8 Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Fri, 13 Oct 2017 15:58:10 +0530 Subject: [PATCH 5/6] Adhere to PEP8 --- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py index 2753a05..cc954c3 100644 --- a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -23,7 +23,7 @@ def main(): continue else: if(good[i[0]] == 'a' and good[i[1]] == 'a'): - if(i[2]==1): + if(i[2] == 1): good[i[0]] = 1 good[i[1]] = 0 else: @@ -62,6 +62,7 @@ def main(): else: print "no" + if __name__ == '__main__': main() From c3467b54a8483a7e9321f5b07b3ca65b4dbdbb8d Mon Sep 17 00:00:00 2001 From: Abhigyan Khaund Date: Fri, 13 Oct 2017 16:04:18 +0530 Subject: [PATCH 6/6] Compiled to PEP8 --- 2017/SEPT/SEPT17/FILLMTR/FILLMTR.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py index cc954c3..f128d22 100644 --- a/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py +++ b/2017/SEPT/SEPT17/FILLMTR/FILLMTR.py @@ -62,7 +62,6 @@ def main(): else: print "no" - + if __name__ == '__main__': main() -