一、倒序模拟



解题代码:

#include<iostream>
#include<math.h>
using namespace std;

int main()
{
	int t,i=0;
	long long m;
	cin>>t>>m;	//操作次数和最终的数
	long long opt[t],x[t];
	for(i=0;i<t;i++){//用数组依次记录opt[i]与x[i] 
		cin>>opt[i]>>x[i];
	}
	for(i=t-1;i>=0;i--){//倒叙模拟
		switch(opt[i])
		{
			case 1:m=m-x[i];break;
			case 2:m=m+x[i];break;
			case 3:m=m/x[i];break;
			case 4:m=m*x[i];break;
			default : break; 
		}		
	}
	cout<<m<<endl; 
	return 0;
 } 

解题思路:注意运用数组思想进行每轮数据的依次存储,不要与模拟手算混淆。
二、未完待续…