結果
問題 | No.398 ハーフパイプ(2) |
ユーザー | horiesiniti |
提出日時 | 2016-07-16 06:47:33 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 768 bytes |
コンパイル時間 | 457 ms |
コンパイル使用メモリ | 55,156 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 14:38:20 |
合計ジャッジ時間 | 1,130 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:25:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 25 | scanf("%lf",&t); | ~~~~~^~~~~~~~~~
ソースコード
#include<stdio.h> #include<iostream> long long int p(int as[6]){ int res=720; int div=1; int c=2; for(int i=0;i<5;i++){ if(as[i]!=as[i+1]){ res/=div; div=1; c=2; }else{ div*=c; c++; } } res/=div; return res; } int main(){ double t; int n; scanf("%lf",&t); n=(int)(t*4); long long int ans=0; for(int i=0;i<=100;i++){ int t=i; if(t>n)break; for(int j=i;j<=100;j++){ t=i+j; if(t>n)break; for(int k=j;k<=100;k++){ t=i+j+k; int l=n-t; if((l<k)||(100<l))continue; int as[6]={i,i,j,k,l,l}; ans+=p(as); int bs[6]={i,i,j,k,l,l+1}; ans+=p(bs)*(100-l); int cs[6]={i-1,i,j,k,l,l}; ans+=p(cs)*i; int ds[6]={i-1,i,j,k,l,l+1}; ans+=p(ds)*i*(100-l); } } } std::cout<<ans<<"\n"; }