题目:给出表面积n,求长宽高,如果无解,输出Impossible!
我的SPJ:
#include "testlib.h"
#include <bits/stdc++.h>
using namespace std;
int to_int(string a)
{
int j = 0;
int ans = 0;
for (int i = a.size() - 1; i >= 0; i --)
{
ans += (a[i] - '0') * (pow(10, j));
j ++;
}
return ans;
}
int main(int argc, char* argv[])
{
registerTestlibCmd(argc, argv);
string aa = ouf.readString();
string nn = ans.readString();
if (aa == "Impossible!" && nn == "Impossible!")
{
quitf(_ok, "The answer is correct.");
return 0;
}
int b = ouf.readInt();
int h = ouf.readInt();
int n = to_int(nn);
int a = to_int(aa);
if (2 * (a * b + a * h + b * h) == n)
quitf(_ok, "The answer is correct.");
else
quitf(_wa, "The answer is wrong. 2 * (%d * %d + %d * %d + %d * %d) != %d", a, b, a, h, b, h, n);
}
结果错了,求调。