結果
| 問題 |
No.265 数学のテスト
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-28 09:11:06 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 856 bytes |
| コンパイル時間 | 508 ms |
| コンパイル使用メモリ | 60,500 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-24 05:03:45 |
| 合計ジャッジ時間 | 1,789 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 31 RE * 1 |
ソースコード
#include <iostream>
#include <string>
#include <vector>
using namespace std;
typedef long long ll;
int main(){
ll N=0;cin>>N;
ll d=0;cin>>d;
string S;cin>>S;
ll dd=0,xx=0,a=1,f=0,s=0,e=0;
vector<ll> v(d+1);
for(ll i=0;i<S.size();++i){
char c=S[i];
if(c=='{'){
s+=1;
dd+=1;
}
if(c=='}'){
e+=1;
if(f==0) dd-=1;
}
if(c>='0' && c<='9'){
a=c;
a-=48;
if(f==0) f=1;
}
if(c=='x'){
xx+=1;
if(f==0) f=1;
}
if(c=='+'){
ll b=a;
for(ll j=xx;j>=xx-(dd-1);--j){
b*=j;
}
v[xx-dd]+=b;
dd=s-e;
a=1;
xx=0;
f=0;
}
}
if(f==1){
ll b=a;
for(ll j=xx;j>=xx-(dd-1);--j){
b*=j;
}
v[xx-dd]+=b;
}
for(ll i=0;i<d+1;++i){
if(i==0) cout<<v[i];
else cout<<" "<<v[i];
}
cout<<endl;
}