西湖游船(结构体赋初值)

阅读: 评论:0

西湖游船(结构体赋初值)

西湖游船(结构体赋初值)

有n名游客在西湖游玩,现在他们要上船观光。游客编号1到n。船的最大承重为W。第i个人的重量为c[i]。现在有若干次游客上下船的操作,请统计一下整个过程中船所承受过的最大总重量是多少。

 

输入

单组测试数据。
第一行输入三个整数n(1<=n<=20), m(1<=m<= 500 ) 和 W(1<=W<= 10000)。
接下来n行输入n名游客的重量c[i](1<=c[i]<=1000)。
接下来m行,每行一个1到n之间的整数,表示游客的编号。表示该游客的上/下船,如果该游客已经在船上,那么该游客就下船,反之就上船。刚开始的时候所有游客都不在船上。

输出

输出一个整数表示整个上下船过程中,船所受到的最大重量。如果最大重量超过了船的最大承重能力,输出Oh, My God!

输入样例

样例输入1
2 2 10
5
7
1
2
样例输入2
3 6 10
2
5
7
2
1
2
3
1
3

输出样例

样例输出1
Oh, My God!
样例输出2
9

通过这个题目,主要学会了给结构体初始化内部变量,思路也不是很难想。直接上代码吧

更新:现在发现struct结构体与class类差别很小,其实所谓结构体赋初值,本质上其实就是相当于类的构造函数

讲解代码

#include<iostream>
using namespace std;class peron{private :string s;int age;bool ox;public:peron(){s="wang";age=15;ox=true;}void print(){cout<<s<<" "<<age<<" "<<ox<<endl;}};int main()
{peron per1;per1.print();peron per2;per2.print();}

输出:wang 15 1

           wang 15 1

原题代码如下:

#include<iostream>
#include <algorithm>
#include <cstring>
using namespace std;
#define ll  long long
#define pi  3.141592654
struct node
{ll a;bool r;node()//初始化r,使其全部为真{r=true;}
};
node ans[10000];
int main()
{ll n,m,w;ll j;cin>>n>>m>>w;ll sum=0;ll max1=-1000000;for(ll i=1;i<=n;i++){cin>>ans[i].a;}while(m--){cin>>j;if(ans[j].r==true) {ans[j].r=false;sum+=ans[j].a;}else  {sum-=ans[j].a;ans[j].r=true;}if(sum>max1) max1=sum;if(sum>w) {cout<<"Oh, My God!";return 0;}}cout<<max1;}

 

本文发布于:2024-01-31 19:20:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170670002530774.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:游船(upc)c++
下一篇:51nod 西湖游船
标签:初值   西湖   游船   结构
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23