結果
| 問題 |
No.438 Cwwプログラミング入門
|
| コンテスト | |
| ユーザー |
sasa8uyauya
|
| 提出日時 | 2024-10-04 12:25:45 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 48 ms / 2,000 ms |
| コード長 | 1,599 bytes |
| コンパイル時間 | 177 ms |
| コンパイル使用メモリ | 82,028 KB |
| 実行使用メモリ | 54,244 KB |
| 最終ジャッジ日時 | 2024-10-04 12:25:54 |
| 合計ジャッジ時間 | 6,703 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 98 |
ソースコード
def extgcd(a,b):
if b==0:
return 1,0
x1,y1=extgcd(b,a%b)
x=y1
y=x1-(a//b)*y1
return x,y
def solve(A,B,C,fa,fb):
x,y=extgcd(A,B)
g=A*x+B*y
if C%g!=0:
return "NO"
a=A//g
b=B//g
c=C//g
if (fa,fb)==(1,1):
l=(-c*y+a-1)//a if -c*y>=0 else -((c*y)//a)
r=(c*x)//b if c*x>=0 else -((-c*x+b-1)//b)
if l>r:
return "NO"
if a-b>0:
k=l
else:
k=r
ca=c*x-k*b
cb=c*y+k*a
if ca+cb+ca+cb-1>L:
return "NO"
s="c"*ca+"w"*cb+"C"*(ca+cb-1)
return s
if (fa,fb)==(1,0):
la=(-c*x+b-1)//b if -c*x>=0 else -((c*x)//b)
lb=(c*y+a-1)//a if c*y>=0 else -((-c*y)//a)
k=max(la,lb)
ca=c*x+k*b
cb=-c*y+k*a
if ca+cb+ca+cb-1>L:
return "NO"
s="w"*cb+"c"*ca+"C"*(ca-1)+"W"*cb
return s
if (fa,fb)==(0,1):
la=(c*x+b-1)//b if c*x>=0 else -((-c*x)//b)
lb=(-c*y+a-1)//a if -c*y>=0 else -((c*y)//a)
k=max(la,lb)
ca=-c*x+k*b
cb=c*y+k*a
if ca+cb+ca+cb-1>L:
return "NO"
s="c"*ca+"w"*cb+"C"*(cb-1)+"W"*ca
return s
if (fa,fb)==(0,0):
return "NO"
A,B,C=map(int,input().split())
L=10000
if A==0 and B==0 and C!=0:
print("NO")
exit()
if C==0:
print("ccW")
exit()
if A==0:
if C%B==0:
c=C//B
if c+c-1<=L:
print("w"*c+"C"*(c-1))
else:
print("NO")
else:
print("NO")
exit()
if B==0:
if C%A==0:
c=C//A
if c+c-1<=L:
print("c"*c+"C"*(c-1))
else:
print("NO")
else:
print("NO")
exit()
for fa in [0,1]:
for fb in [0,1]:
s=solve(A,B,C,fa,fb)
if s!="NO":
print(s)
exit()
print("NO")
sasa8uyauya