AtCoder Beginner Contest 178

はい。
AtCoder Beginner Contest 178
oox--- 835(-25) まずいですコレ、茶色見えてきました。。

A - Not

PyPy3

n=int(input())
print(1 if n==0 else 0)

特に何も工夫せず。テストケースが多いような???ランダム判定で書くほうが面倒ですけどその対策かな、よくわかりません。

B - Product Max

PyPy3

a,b,c,d=map(int,input().split())
ans=[a*c,a*d,b*c,b*d]
print(max(ans))

全部確認しました。

C - Ubiquity

PyPy3

mod=1000000007
n=int(input())
#print(0 if n==1 else pow(10,n,mod)-pow(9,n,mod)-pow(9,n,mod)+pow(8,n,mod))
print(0 if n==1 else (pow(10,n)-pow(9,n)-pow(9,n)+pow(8,n))%mod)

方針がまとまらずコンテスト時間にはAC出来ず。
0-9のいずれかをN桁で使うのが全パターンで10N
0-8、1-9のいずれかをN桁で使うパターン(条件を満たさないもの)を引きます
1-8のいずれかをN桁で使うパターンが2回引かれているので1回分足します
modを取ります
がコンテスト時間中に出来ませんでした。
それとコメントアウトしている行の方法で提出するとWAになります。掛け算のみ計算ならいつmodを取っても影響しないはずですが、引き算があるときに事前にmodを取ってはダメだと学習しました。
1000000007-1と1000000007%mod-1では結果が変わるので事前に取るのはダメです。