简单模拟,注意细节,仔细读题,英语是硬伤啊。
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int a,x,y;
int main(){
while (scanf("%d%d%d",&a,&x,&y) != EOF){
if (y % a == 0) printf("-1\n");
else if (y <= 2* a){
if (abs(x)*2 < a) printf("%d\n",y/a + (y%a? 1 : 0));
else printf("-1\n");
}
else{
int ans = 2;
y -= 2*a;
int u = y / (2*a);
ans += 3 * u;
int c = y / a;
int d = y % a;
if ((c % 2) && d){
ans += 3;
if (2*abs(x) >= a){
printf("-1\n");
continue;
}
}
else if (c % 2){
if (x > 0 && x < a) ans += 2;
if (x >-a && x < 0) ans += 1;
if (abs(x) >= a || x == 0){
printf("-1\n");
continue;
}
}
else if (d){
if (x > 0 && x < a) ans += 2;
if (x >-a && x < 0) ans += 1;
if (abs(x) >= a || x == 0){
printf("-1\n");
continue;
}
}
printf("%d\n",ans);
}
}
return 0;
}