写在前面

  • 逻辑题
  • 丙的类型分析存在错误
  • 输出值分析错误,输出甲的值,不是M的值
  • 除去以上2点,题目相对简单,5分钟a题
  • 细节问题,最耗时间
  • abs绝对值函数
  • print 函数类型错误(double型),导致测试点4错误

测试用例

input:
48 3 7
output:
48 Ping Cong Gai

input:
48 11 6
output:
No Solution

ac代码

  • 优化后
#include <iostream>
using namespace std;
void print(double jyb, int tm)
{
if(jyb>tm) printf(" Cong");
else if(jyb==tm) printf(" Ping");
else printf(" Gai");
}
int main()
{
double bing = 0.0;
int yi=0, m=0, x=0, y=0;
scanf("%d%d%d", &m,&x,&y);
for(int i=99; i>=10; i--)
{
yi = (i%10)*10+i/10;
bing = abs(i-yi)*1.0/x;
if(bing*y==yi)
{
cout << i;
print(i, m);
print(yi, m);
print(bing, m);
return 0;
}
}
printf("No Solution");
return 0;
}

参考文章