3 条题解
-
1
#include<bits/stdc++.h> using namespace std; int n,v,w,ans=1; pair<char,int> f[1003]; int main() { scanf("%d %d %d\n",&n,&v,&w); for(int h,m,i=1;i<=n;i++) { scanf("%c-%d:%d\n",&f[i].first,&h,&m); f[i].second=h*60+m; } sort(f+1,f+1+n); for(auto cur=1,i=2;i<=n;i++) { if(f[i].first!=f[i-1].first || i-cur>v || f[i].second>f[cur].second+w) { cur=i; ans++; } } printf("%d\n",ans); return 0; }
-
0
一定得
A
、B
开在一起吗、,不能分开开数组吗。。。Python
from typing import List, Tuple n, v, w = map(int, input().split()) pt: List[Tuple[str, int]] = [] def strptime(hour: str, minute: str) -> int: return 60 * int(hour) + int(minute) for _ in range(n): info: str = input() time: int = strptime(*info[2:].split(':')) pt.append((info[0], time)) pt.sort() car: int = 1 man: int = 1 cur : int = 1 t: Tuple[str, int] = pt[0] for i in pt: if i[1] > t[1] + w or man >= v or i[0] != t[0]: t = i car += 1 man = 1 else: man += 1 print(car)
-
0
赛后补题
最魔幻的一集,在考场上写出了大致框架,然后因为一个数据没初始化爆掉了,只有10分。
核心思想是对所有数据,先对前面要去的宾馆排序,再以时间从小到大排序,如果超时或者带不下就另开一辆。
话说这道题用py应该会费力一点,毕竟没有结构体要开class(大概,可能是因为我py水平差)
#include <bits/stdc++.h> using namespace std; struct node{ char p; int t; }no[10001]; bool cmp1(node l,node r){ return l.p == r.p?l.t<r.t:l.p<r.p; } signed main() { int n,v,w; cin>>n>>v>>w; char p; int a,b; for(int i=1;i<=n;i++){ cin>>p; no[i].p=p; cin>>p>>a>>p>>b; no[i].t=a*60+b; } sort(no+1,no+n+1,cmp1); int ans=1,t=no[1].t,k=1,lp=no[1].p; for(int i=2;i<=n;i++){ if(no[i].t>t+w or k>=v or no[i].p!=lp){ ans++; lp=no[i].p; t=no[i].t; k=1; } else { k++; } } cout<<ans; }
发牢骚:考场die码:
#include <bits/stdc++.h> using namespace std; struct node{ char p; int t; }no[10001]; bool cmp1(node l,node r){ return l.p == r.p?l.t<r.t:l.p<r.p; } signed main() { int n,v,w; cin>>n>>v>>w; char p; int a,b; for(int i=1;i<=n;i++){ cin>>p; no[i].p=p; cin>>a>>p>>b;//错误1,应为cin>>p>>a>>p>>b; no[i].t=a\*60+b; } sort(no+1,no+n+1,cmp1); int ans=0,t=-100,k=5,lp='A';//错误2,k值应初始化为no[1].t,t不知道为什么这个判断在第一次没有生效 for(int i=1;i<=n;i++){ if( k>=v or no[i].p!=lp){ ans++; lp=no[i].p; t=no[i].t; k=1; } else { k++; } } cout<<ans; }
- 1
信息
- ID
- 833
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 372
- 已通过
- 35
- 上传者