はじめに
今回は問題が簡単だったのでA~Cは解けましたが、Dまで解けるべきでした。
A問題
考えたこと
偶数を作るには、偶数+偶数、奇数+奇数しかないのでNとMのそれぞれで$_nC _r$、$_mC _r$しています。コンビネーションの計算は自分で実装してもいいですが、scipyにあるのでそれを使いました。
fromscipy.miscimportcombn,m=map(int,input().split())ans=comb(n,2,exact=True)+comb(m,2,exact=True)#exact=Trueで整数値が返される
print(ans)
B問題
考えたこと
回文の問題が苦手でA解いた後に放置していました。Sが回文であるのなら、s.reverse()==sになることを利用して解きました。強い回文の条件はsをスライスして、上と同じことをしました。n
s=list(str(input()))checker=0n=len(s)new_s=list(reversed(s))ifs==new_s:checker+=1split_s=s[0:(n-1)//2]new_s=list(reversed(split_s))ifnew_s==split_s:checker+=1split_s=s[(n+2)//2:n]new_s=list(reversed(split_s))ifnew_s==split_s:checker+=1ifchecker==3:print('Yes')else:print('No')
C問題
考えたこと
体積が最大になるのは、立方体になるときなので$(L/3)^3$で終わり。精度が怖かったけどなにもしなくても通った。
l=int(input())print((l/3)**3)
D問題
問題
1WA、4TLE
考えたこと
解けなかった
for文で$A_i$を抜いたAでコンビネーションを計算しようとしたけど、TLEが出て死んだ。
fromscipy.miscimportcombn=int(input())a=list(map(int,input().split()))a_s=set(a)foriinrange(n):l=a[i]a[i]='X'ans=0forjina_s:ans+=comb(a.count(j),2,exact=True)print(ans)a[i]=l
まとめ
勉強不足なのとBを解くことをあきらめてしまったことが敗因。
おやすみなさい。