ホームページ > 記事 > ウェブフロントエンド > Codeforces Round #209 (Div. 2) C.素数_html/css_WEB-ITnose
tタイトル: http://codeforces.com/problemset/problem/359/C
n多くの WA................................. ... ......私自身のコーディング能力にはまだ大きな問題があります....................
私自身のコード作成状況を要約すると、次のようになります。
1.自分のアイデアを明確にしないまま書き始める...
2. トラブルシューティングを行うときは、自分のロジックを整理し、コードが自分のロジックを明確に表現しているかどうかを確認する必要があります
3. 他の人のコードを参照するときは、常に次のように考えないでください。理解できないなら、よく考えて、特にシミュレーションして、理解しようと努めてください。
4. トラブルシューティングを行うときは、少し変更してプログラムを再実行するだけではなく、変更できるものが何もないことがわかっている場合は、再実行してください。 WA がなくなったら、自分の本来の考え方の外で考えて試してみてください。よく見てください - ------実は私のコーディング能力が低くて、やりたいことをコードで表現するのが難しいです
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <climits>#include <cmath>using namespace std;#define ll long longconst ll MOD = 1000000007;const int SIZE = 1e5+10;ll num[SIZE];ll Qmod(ll base,ll n){ ll ret=1; while(n) { if(n&1) ret=ret*base%MOD; base=base*base%MOD; n>>=1; } return ret;}int main(){ ll x,sum,tmpn; ll n; while(scanf("%I64d%I64d",&n,&x)!=EOF) { scanf("%I64d",&num[1]); sum=num[1]; for(ll i=2;i<=n;i++) { scanf("%I64d",&num[i]); sum+=num[i]; } tmpn=sum-num[n]; for(ll p=num[n],cc=0;p>0;p--) { while(n&&num[n]==p) { n--; cc++;//1的个数 } if(cc%x)break; tmpn++; cc/=x; } printf("%I64d\n",Qmod(x,tmpn)); } return 0;}