水题,理解题意后把n个数填出来就行了。
#include<bits/stdc++.h>
#define LL long long
#define maxn 110
using namespace std;
int arr[maxn];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m;
scanf("%d%d",&n,&m);
memset(arr,-1,sizeof(arr));
for(int i=0;i<m;++i)
{
int a,b;
scanf("%d%d",&a,&b);
arr[a]=b;
}
int now=0;
int down=0;
for(int i=n;i>=3;--i)
{
if(arr[i]!=-1)
now=arr[i];
else
arr[i]=now;
down+=arr[i];
}
now=100;
int up=0;
for(int i=1;i<3;++i)
{
if(arr[i]!=-1)
now=arr[i];
else
arr[i]=now;
up+=arr[i];
down+=arr[i];
}
int gcd=__gcd(up,down);
up/=gcd;
down/=gcd;
printf("%d/%d\n",up,down);
}
}