hdu 5742 It's All In The Mind

来源:互联网 发布:里士满大学 知乎 编辑:程序博客网 时间:2024/05/16 10:50
#include<iostream>using namespace std;int gcb(int a,int b){    int c;    while(b)    {        c=b;        b=a%b;        a=c;    }    return a;}int main(){    int T;    cin>>T;    while(T--)    {        int n,m,i,x,y;        cin>>n>>m;        int a[105];        if(m==0)            cout<<"1/1"<<endl;        else        {            for(i=1; i<=n; i++)                a[i]=-1;            for(i=0; i<m; i++)            {                cin>>x>>y;                a[x]=y;            }            int fenzi=0,sum=0;            if(a[1]==-1)                a[1]=100;            if(a[2]==-1)                a[2]=a[1];            for(i=n; i>=3; i--)            {                if(i==n)                {                   if(a[i]==-1)                    a[i]=0;                }                else                {                    if(a[i]==-1)                        a[i]=a[i+1]; //使分母尽量小,但这个数列是非递增的,所以a[i]最小只能跟a[i+1]相等                }                sum+=a[i];            }            fenzi=a[1]+a[2];            int x;            x=gcb(fenzi,fenzi+sum);            cout<<fenzi/x<<"/"<<(fenzi+sum)/x<<endl;        }    }    return 0;}

0 0
原创粉丝点击