这是一个把浮点数四舍五入成整数的程序,但是如果需要进位的同时整数部分的末位是0,则输出 GOTO Vasilisa。
所以相当于一个翻译题,翻译题意即可……
使用string来存储可以省下不少麻烦。
解题:找到点在哪里,然后点的后一位和前一位决定了全局,后一位决定进不进,进位的话前一位决定输出还是GOTO
Code:
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
// http://codeforces.com/contest/99
// Help Far Away Kingdom
int main()
{
string s; cin>>s;
string ans="";
int flag=0;
for(int i=0;i<s.length();i++)
{
if(s[i]!='.' && !flag) ans+=s[i];
else if(s[i]=='.' && !flag) flag=1;
else
{
int lst=ans[i-2]-'0';
int num=s[i]-'0';
if(num<5) break;
else if(lst!=9) ans[i-2]=ans[i-2]+1;
else
{
cout<<"GOTO Vasilisa.";
return 0;
}
break;
}
}
cout<<ans;
return 0;
}