結果
問題 | No.321 (P,Q)-サンタと街の子供たち |
ユーザー |
|
提出日時 | 2015-12-15 00:26:37 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 229 ms / 2,000 ms |
コード長 | 669 bytes |
コンパイル時間 | 71 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-07-06 22:01:57 |
合計ジャッジ時間 | 7,044 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 41 |
コンパイルメッセージ
Main.rb:19: warning: assigned but unused variable - g1 Main.rb:19: warning: assigned but unused variable - g2 Syntax OK
ソースコード
#!/usr/bin/ruby def egcd(x,y) return [x,1,0] if y==0 g,a,b=egcd(y,x%y) [g,b,a-x/y*b] end a,b=gets.split.map(&:to_i).sort gets if b==0 p $<.count{|e| x,y=e.split.map(&:to_i) x==0&&y==0 } else g,z1,z2=egcd(a,b) a/=g b/=g g0,g1,g2=egcd(2*a,2*b) p $<.count{|e| x,y=e.split.map(&:to_i) next if x%g!=0 || y%g!=0 x/=g y/=g z=b*b-a*a w=z2*x*a+z1*x*b-y if -w%z.gcd(g0)==0 =begin _,k1,k2=egcd(z,g0) e=0 f=0 n=w*k1%g0+g0*e m=(z*n+w)/g0 _d=g1*m+2*b*f _b=g2*m-2*a*f _a=z1*x+b*n-_b _c=z2*x-a*n-_d raise if (_a+_b)*a+(_c+_d)*b!=x raise if (_c-_d)*a+(_a-_b)*b!=y p [_a,_b,_c,_d] =end true else false end } end