算法1
简单模拟
C++ 代码
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int sum=0,t;
int flag=0; //用flag记录上一个输入的数
while(cin>>t) {
if(!t) break;
if(t==1) sum++, flag=0; //flag=0 上次输入的为1
else if(flag==0) { //若输入2且上次输入的1
flag=2; //则将flag改为2,同时sum求和
sum+=flag;
} else { //若上次输入为2,则flag+2,再求和
flag+=2;
sum+=flag;
}
}
cout<<sum;
return 0;
}