• 大小: 5KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: C/C++
  • 标签: 蓝桥杯  决赛  代码  

资源简介

2011蓝桥杯决赛试题代码,第4道大题,值得参考

资源截图

代码片段和文件信息

#include
#include
#include
#include
using namespace std;
struct p
{
string line_num;
int fee;
}price[100];
string line[50][100]station[200][50]solution[1000][100]x[100];
int line_num=0station_num=0price_num=0solution_num=0f[50]={00}min=1e5min_num=0;
void compute(string beginstring endint);
string begin=“东四“end0=“奥体中心“;//begin=“A1“end0=“H1“;//王府井
int main()
{
char l[80]ch;
int s=0k=0;
ifstream f(“stations.txt“);
if(!f)
{
cout<<“cannot open the file“;
exit(0);
}
while(!f.eof())
{
f.getline(l80);
//f>>l;
int i=0;
/*s=0;
while(l[i])
{
if(l[i]>=‘0‘ &&l[i]<=‘9‘)
s=s*10+l[i]-‘0‘;
i++;
}*/
line[k][0]=l;
//num[k]=s;//k++;
i=1;
ch=f.peek();
//cout< while(!f.eof()&&(ch=f.peek())!=‘\n‘)
{
f.getline(l80);//f>>l;
line[k][i]=l;
//到站中查找并添加
if(station_num==0)
{
station[0][0]=line[k][i];
station[0][1]=line[k][0];
station_num++;
}
else
{
for(int j=0;j if(station[j][0]==line[k][i]) break;
if(j {
int t=1;
while(station[j][t]!=““)
{
t++;
}
station[j][t]=line[k][0];
}
else//不存在
{
station[station_num][0]=line[k][i];
station[station_num][1]=line[k][0];
station_num++;
}
}

i++;
}
k++;
f.get(ch);
//f>>l;
}
f.close();
line_num=k;
//读取票价

ifstream fp(“price.txt“);
if(!fp)
{
cout<<“cannot open the file“;
exit(0);
}
while(!fp.eof())
{
l[0]=‘\0‘;
fp.getline(l80‘ ‘);
price[price_num].line_num=l;
fp>>price[price_num].fee;
fp.get(ch);
price_num++;
}
fp.close();

//计算
//string begin=“五棵松“end=“奥体中心“;
//cin>>begin>>end;
compute(beginend00);
//for(int k=0;k<)
//cout< cout< int i=1;
while(solution[min_num][i]!=““)
{
int j=0;
string aaaa=solution[min_num][i];
for(j=0;j if(aaaa[j]==‘‘) break;
if(j {
cout<<“-(“< }
else
cout<<“-“< i+=2;
}
cout<
return 0;
}

int search_station(string s)
{
for(int j=0;j if(station[j][0]==s) break;
return j;
}
string search_sameline(int begin_numint end_num)
{
string t=““;
int i=1j=1;
while(station[begin_num][i]!=““)
{
j=1;
while(station[end_num][j]!=““)
{
if(station[begin_num][i]==station[end_num][j])//在同一线路中
{
t=station[begin_num][i];
}
j++;
}
i++;
}
return t;

评论

共有 条评论