关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 你会和mentor进行deeptalk吗?2375
- 2... 双非本2025秋招总结:65w+SSP三选一,最终还是“有鹅选鹅”|附面试心路历程1900
- 3... 金丹后期牛友!我们新年再见1847
- 4... 希望新的一年,我依然是走向幸福的那个人1330
- 5... 牛客运营们,我保证这是我最后一次消费烤肠了!1231
- 6... 学院本 末 211 硕勇闯 java 后端实习美团 oc 逆袭指南1164
- 7... 27届学院本一段中厂一段中大厂实习,简历求锐评812
- 8... 元旦前被裁员了697
- 9... 27前端已没招640
- 10... 脑抽给面试官唱了一首英文歌623
正在热议
更多
# 对2025年忏悔 #
6449次浏览 118人参与
# 互联网行业现在还值得去吗 #
48079次浏览 356人参与
# 实习没人带,苟住还是跑路? #
14899次浏览 290人参与
# 春招前还要继续实习吗? #
7489次浏览 89人参与
# 一人说一家双休的公司 #
9308次浏览 111人参与
# 移动求职进展汇总 #
18850次浏览 149人参与
# 你找工作的时候用AI吗? #
166150次浏览 865人参与
# 国企秋招,你投了吗? #
55393次浏览 364人参与
# 元旦假期你打算怎么过 #
9739次浏览 187人参与
# 工作前VS工作后,你的心态变化 #
31711次浏览 249人参与
# 面试官问过你最刁钻的问题是什么? #
11985次浏览 112人参与
# 职场新人生存指南 #
491857次浏览 9518人参与
# 大家实习都在做什么? #
9602次浏览 102人参与
# 我的AI电子员工 #
24497次浏览 155人参与
# 我们是不是被“优绩主义”绑架了? #
10190次浏览 308人参与
# OPPO求职进展汇总 #
758860次浏览 5392人参与
# 你觉得专业和学校哪个对薪资影响最大 #
87878次浏览 587人参与
# 华为工作体验 #
279148次浏览 1360人参与
# 通信/硬件公司求职体验 #
184488次浏览 1032人参与
# 通信硬件薪资爆料 #
1188973次浏览 7185人参与
