关注
import java.util.ArrayList;import java.util.Scanner;public class Main { public static goods[] goodsList; public static ArrayList <activity> activityId; public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) {//注意while处理多个case int n = in.nextInt(); // goods int m = in.nextInt(); // requests int gid;
int peple;
int limitQuantity;
goodsList = new goods[n];
for (int i = 0; i < n; i++) {
gid = in.nextInt();
peple = in.nextInt();
limitQuantity = in.nextInt();
goods g = new goods(gid, peple, limitQuantity);
goodsList[i] = g;
}
for (int i = 0; i < m; i++) {
int currentStamp = in.nextInt();
String requestType = in.next();
switch (requestType){
case "add": {
int res;
int st = in.nextInt(); int et = in.nextInt();int gi = in.nextInt(); int limit = in.nextInt();
if (st > currentStamp && st < et) {
res = addActivity(st, et, gi, limit);
}
else res = -1;
System.out.println(res);
}
case "buy": {
int res;
int activid = in.nextInt(); int quantity = in.nextInt();
res = buyGoods(currentStamp,activid, quantity);
System.out.println(res);
}
case "list": {
ArrayList<activity> activiId = getActivityList(currentStamp);
for (activity a: activiId
) {
System.out.print(a.id+ " ");
}
}
}
}
}
}
public static int addActivity(int st, int et,int gid, int Quantity){
if (!activityId.isEmpty()){
for (activity a: activityId
) {
if (a.go.gid == gid){
// 已经加入过了,返回某值
return -1;
}else {
goods gForAct = null;
for (int i = 0; i < goodsList.length; i++) {
if (gid == goodsList[i].gid){
goods g = goodsList[i];
g.limitQuantity -= Quantity; // 修改商品参加活动后剩余库存
gForAct = new goods(gid, g.peple, Quantity);
}
}
activityId.add(new activity(st, et, Quantity, gForAct));
return 1;
}
}
}else {
goods gForAct = null;
for (int i = 0; i < goodsList.length; i++) {
if (gid == goodsList[i].gid){
goods g = goodsList[i];
g.limitQuantity -= Quantity;
gForAct = new goods(gid, g.peple, Quantity);
}
}
activityId.add(new activity(st, et, Quantity, gForAct));
return 1;
}
return -1;
}
public static int buyGoods(int cuTime, int activid, int quantity){
if (activityId.isEmpty()){
return -1;
}else {
for (activity a: activityId
) {
if (a.id == activid){
if (a.eti > cuTime){
if (quantity < a.go.limitQuantity){
a.go.limitQuantity -= quantity;
return 1;
}else return -1; // 没有合并判断是为了根据情况返回不同值,忘记题目了。。
}else return -1;
}else return -1;
}
}
return -1;
}
public static ArrayList getActivityList(int cuTime){
if (activityId.isEmpty()) return null;
for (activity a:activityId
) {
if (a.eti < cuTime){
// 活动a结束
}
else {
if (a.go.limitQuantity < 0){
// 活动a售罄
}
else{
// 活动a在售
}
}
}
// 按规定多级排序 activityId
return activityId;
}
static class goods{ // 商品
private int gid;
private int peple;
private int limitQuantity;
public goods(int g, int p, int l){
gid = g;
peple = p;
limitQuantity = l;
}
}
static class activity{ // 秒杀活动
private goods go;
private int id = 0; ;
private int eti;
private int sti;
public activity(int st, int et, int Quantity, goods g){
id ++;
go = g;
go.limitQuantity = Quantity;
sti = st;
eti = et;
}
}
}
查看原帖
点赞 5
相关推荐
05-29 22:11
门头沟学院 Java 点赞 评论 收藏
分享
07-07 11:41
中南大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 🌟择难路,未有疑,四非学院本运气拉满,春招拿下大厂后端5.8W
- 2... 其实主包早就找到工作了,但还是每天都刷7903
- 3... 史上最细SQL实战系列:sql笔试例题总结篇(建议收藏)7321
- 4... 恋爱四年没想到过自己会出轨6222
- 5... 快star-x二面凉经3979
- 6... 小红书二面(第二天oc)3552
- 7... 离开软件测试才发现外面没有雨3420
- 8... 从天坑文科到大二腾讯的经历3297
- 9... 字节拒绝、百度毁约,7.1 腾讯 Offer 到手:25 届双非碎碎念(25届最晚Offer)3132
- 10... 25届毕业现在在家呆了一个多月,没工作3077
正在热议
更多
# 计算机有哪些岗位值得去? #
2895次浏览 31人参与
# 社会教会你的第一课 #
9009次浏览 131人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
42220次浏览 293人参与
# 实习生的蛐蛐区 #
13197次浏览 114人参与
# 神州信息工作体验 #
13766次浏览 64人参与
# 应届生,你找到工作了吗 #
9807次浏览 90人参与
# 被AI治愈的瞬间 #
57436次浏览 620人参与
# 说说你知道的学历厂 #
7928次浏览 66人参与
# 你认为小厂实习有用吗? #
3534次浏览 42人参与
# 你找工作的时候用AI吗? #
3261次浏览 33人参与
# 哪一瞬间觉得自己长大了 #
1964次浏览 38人参与
# 歌尔求职进展汇总 #
55857次浏览 335人参与
# 面试尴尬现场 #
5892次浏览 43人参与
# 下班后的时间你怎么安排 #
1714次浏览 25人参与
# 简历当中有水分算不算造假? #
11378次浏览 116人参与
# 双非应该如何逆袭? #
180990次浏览 3152人参与
# 秋招盘点:机械人值得去的企业 #
74026次浏览 671人参与
# 毕业旅行去哪玩儿 #
10405次浏览 130人参与
# 三一集团提前批进度交流 #
24467次浏览 139人参与
# 秋招想进国企该如何准备 #
72057次浏览 416人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
118244次浏览 1134人参与