牛客网浮点错误怎么解决?
牛客网上的pat题目:All Roads Lead to Rome,我在自己的vc6.0上没有问题,牛客网显示浮点错误? 把浮点错误去掉之后还超时。。。大佬救救孩子
#include <iostream>
#include <vector>
#include <string>
#include <limits.h>
using namespace std;
int N,K,rome; //the number of cities and routes
string start;
vector<string> city;
vector<int> happiness;
vector<vector<int> > cost;
vector<bool> visit;
int bests, costs, happy, ave_happy;
int correctHappy, correctAveHappy;
int correctCosts=INT_MAX;
vector<int> route,correctRoute;
void dfs(int pre, int present, int end);
int main()
{
int i,hap;
string cit;
ios::sync_with_stdio(false);
cin>>N>>K>>start;
city.resize(N,start);
happiness.resize(N,0);
cost.resize(N,vector<int>(N,0));
visit.resize(N,false);
for(i=1;i<N;i++)
{
cin>>cit>>hap;
if(cit=="ROM")
rome=i;
city[i]=cit;
happiness[i]=hap;
}
string city1,city2;
int cos,j,m,n;
for(i=0;i<K;i++)
{
cin>>city1>>city2>>cos;
for(j=0;j<N;j++)
if(city1==city[j])
{
m=j;
break;
}
for(j=0;j<N;j++)
if(city2==city[j])
{
n=j;
break;
}
cost[m][n]=cos;
cost[n][m]=cos;
}
dfs(0,0,rome);
cout<<bests<<" "<<correctCosts<<" "<<correctHappy<<" "<<correctAveHappy<<endl;
cout<<city[correctRoute[0]];
for(i=1;i<correctRoute.size();i++)
cout<<"->"<<city[correctRoute[i]];
cout<<endl;
return 0;
}
void dfs(int pre, int present, int end)
{
if(costs>correctCosts)
return;
int i;
visit[present]=true;
costs+=cost[pre][present];
happy+=happiness[present];
route.push_back(present);
if(present==end)
{
ave_happy=happy/(route.size()-1);
if(costs<correctCosts)
{
bests=1;
correctCosts=costs;
correctRoute=route;
correctHappy=happy;
correctAveHappy=ave_happy;
return;
}
else if(costs==correctCosts)
{
bests++;
if(happy>correctHappy)
{
correctCosts=costs;
correctRoute=route;
correctHappy=happy;
correctAveHappy=ave_happy;
return;
}
else if(happy==correctHappy)
if(ave_happy>correctAveHappy)
{
correctCosts=costs;
correctRoute=route;
correctHappy=happy;
correctAveHappy=ave_happy;
return;
}
}
}
else
for(i=0;i<N;i++)
if(!visit[i]&&cost[present][i]!=0)
{
dfs(present,i,end);
route.pop_back();
costs-=cost[i][present];
happy-=happiness[i];
visit[i]=false;
}
}
...全文
相关推荐
Java工作学习牛客网刷题错误总结.rar
这份“Java工作学习牛客网刷题错误总结”压缩包文件,显然是作者在解决这些题目时遇到的问题和错误的汇总,对于其他Java学习者来说具有很高的参考价值。
运用python实现牛客网编程题.zip
在解决牛客网的编程题目时,你需要熟悉以下Python编程知识点:1.
牛客网、LeetCode编程题,Using Python.zip
【标题】"牛客网、LeetCode编程题,Using Python.zip" 涉及到的主要知识点是使用Python语言解决在线编程挑战,特别是来自牛客网和LeetCode这两个平台的题目。
001-:牛客网大一大二140道题编程入门训练
**调试技巧**:学会使用调试工具,找出程序中的错误,理解运行时错误和编译时错误的区别。6. **软件工程基础**:了解版本控制(如Git),项目管理,以及简单的软件开发流程。7.
NiukeOffer:牛客网的剑指offer的编程题
此外,题目解析中通常会包含多种解题思路,对比分析,有助于拓宽思维,培养解决问题的灵活性。总结来说,“牛客网剑指Offer”的编程题集是Java开发者提升编程技能、准备面试的宝贵资料。


其它技术问题
