#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <map>
#include <algorithm>
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<<sum1/gcd<<"/"<<sum2/gcd<<endl;
}
}
It‘s All In The Mind HDU - 5742(贪心,)
猜你喜欢
转载自blog.csdn.net/Alanrookie/article/details/107152789
今日推荐
周排行