题意:从(1,1)走到他给的点,只能向上和向右。int cou =0;如果向上就cou+=x;,如果向右就cou+=y;
题解:最大的cou是两条直线。最小的cou是一直转弯。
注意点:如果x>y 先走x;反之亦反;
#include<iostream>
using namespace std;
int maxn(int x,int y){int xx=1,yy=1,cou=0;while (xx<x){cou+=yy;xx++;}while (yy<y){cou+=xx;yy++;}return cou;
}
int minn(int x,int y){int cou = 0;int xx=1,yy=1;if (x>y) {while (1){if (xx<x) {++xx;cou+=yy;}if (yy<y){++yy;cou+=xx;}if (x==xx&&y==yy) break;}}else{while (1){if (yy<y){++yy;cou+=xx;}if (xx<x){++xx;cou+=xx;}if (x==xx&&y==yy) break;}}return cou;
}
int main()
{int n;cin>>n;for (int i=0;i<n;i++){int a,b,c;cin>>a>>b>>c;int cou1 = maxn(a,b);int cou2 = minn(a,b);if (c>=cou2&&c<=cou1) cout<<"yes"<<endl;else cout<<"no"<<endl;}
}