98.公共汽车

problem 4 公共汽车
【问题描述】
     一个城市的道路,南北向的路有n条,并由西向东从1标记到n,东西向的路有m条,并从南向北从1标记到m,每一个交叉点代表一个路口,有的路口有正在等车的乘客。一辆公共汽车将从(1,1)点驶到(n,m)点,车只能向东或者向北开.
问:司机怎么走能接到最多的乘客。

98.公共汽车
图片为一个正方形,中间有很多条线,每个交点有一个人数或者没有。
【输入描述
第一行是n,mk,其中k是有乘客的路口的个数。
以下k行是有乘客的路口的坐标和乘客的数量。已知每个路口的乘客数量不超1000000n,m<=1000.
【输出描述
接到的最多的乘客数。
样例输入
8 7 11
4 3 4
6 2 4
2 3 2
5 6 1
2 5 2
1 5 5
2 1 1
3 1 1
7 7 1
7 4 2
8 6 2
样例输出
11 
基本思路:
把这个方格转动之后,就是一个数塔,再把题目中给的坐标,按照数塔的原则转换为数塔的坐标,在找一条最大路就好了。
代码:
#include< iostream >
#include< cstdio >
using namespace std;
int n,m,k,a,b;
long long p[2001][2001],f[2001][2001];
int main()
{
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;++i)
{
scanf("%d%d",&a,&b);
scanf("%d",&p[a+b-1][b]);
}
f[n+m-1][m]=p[n+m-1][m];//坐标转换 
for(int i=n+m-1-1;i>=1;--i)
 for(int j=1;j<=i;++j)
 f[i][j]=max(f[i+1][j],f[i+1][j+1])+p[i][j];
 cout<<f[1][1];
return 0;
 } 

转载于:https://www.cnblogs.com/c1299401227/p/5370722.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法访问和下载外部资源。但是我可以为您提供一个关于公共汽车订票系统的C++代码示例,以供参考。 以下是一个简单的公共汽车订票系统的C++代码示例: ```cpp #include <iostream> #include <string> using namespace std; class BusTicketSystem { private: string busNumber; int totalSeats; int availableSeats; public: BusTicketSystem(string number, int seats) { busNumber = number; totalSeats = seats; availableSeats = seats; } void displayBusDetails() { cout << "Bus Number: " << busNumber << endl; cout << "Total Seats: " << totalSeats << endl; cout << "Available Seats: " << availableSeats << endl; } void bookTicket(int numSeats) { if (numSeats <= availableSeats) { availableSeats -= numSeats; cout << "Ticket booked successfully!" << endl; } else { cout << "Not enough seats available." << endl; } } void cancelTicket(int numSeats) { if (numSeats <= (totalSeats - availableSeats)) { availableSeats += numSeats; cout << "Ticket cancelled successfully!" << endl; } else { cout << "Invalid number of seats to cancel." << endl; } } }; int main() { BusTicketSystem bus("ABC123", 50); bus.displayBusDetails(); bus.bookTicket(3); bus.displayBusDetails(); bus.cancelTicket(2); bus.displayBusDetails(); return 0; } ``` 这个示例代码创建了一个名为`BusTicketSystem`的类,用于管理公共汽车的订票系统。它包括了公共汽车的编号、总座位数和可用座位数等属性,以及显示公共汽车详情、预订票和取消票等方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值