本文共 734 字,大约阅读时间需要 2 分钟。
#include #include #include #include #include #include using namespace std;const int maxn=1e6+5;int a[maxn];int main(){ int t; cin>>t; while(t--){ memset(a,0,sizeof(a));//一定要初始化,这里WA了好多次 int n,m; cin>>n>>m; int flag1=0,flag2=0; for(int i=1;i<=m;i++){ int x,y; cin>>x>>y; a[x]=y; if(x==1)flag1=1; if(x==2)flag2=1; } if(!flag1&&flag2)a[1]=100; if(flag1&&!flag2)a[2]=a[1]; if(!flag1&&!flag2)a[1]=a[2]=100; //if(flag1&&flag2); int temp=0,flag=0; for(int i=n;i>=3;i--){ if(a[i]==0&&flag==0)a[i]=0; else{ if(a[i]){ flag=1; temp=a[i]; } else if(!a[i]&&flag)a[i]=temp; } } int sum2=0; for(int i=n;i>=1;i--){ sum2+=a[i]; } int sum1=a[1]+a[2]; int gcd=__gcd(sum1,sum2);//__gcd()是两个下划线 cout<
转载地址:http://hfnt.baihongyu.com/