Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21491

PythonでABC159を解きたかった

$
0
0

はじめに

今回は問題が簡単だったので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を解くことをあきらめてしまったことが敗因。
おやすみなさい。


Viewing all articles
Browse latest Browse all 21491

Latest Images

Trending Articles