L1-今天我要赢
#include<iostream>
using namespace std;
int main(){
cout<<"I'm gonna win! Today!"<<endl;
cout<<"2022-04-23";
return 0;
}
L1-种钻石
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
cout<<n/m;
return 0;
}
L1-谁能进图书馆
#include<iostream>
using namespace std;
int main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
if(c>=a&&d>=a)
cout<<c<<"-Y "<<d<<"-Y"<<endl<<"huan ying ru guan";
else if(c>=a)
if(c>=b)
cout<<c<<"-Y "<<d<<"-Y"<<endl<<"qing 1 zhao gu hao 2";
else
cout<<c<<"-Y "<<d<<"-N"<<endl<<"1: huan ying ru guan";
else if(d>=a)
if(d>=b)
cout<<c<<"-Y "<<d<<"-Y"<<endl<<"qing 2 zhao gu hao 1";
else
cout<<c<<"-N "<<d<<"-Y"<<endl<<"2: huan ying ru guan";
else
cout<<c<<"-N "<<d<<"-N"<<endl<<"zhang da zai lai ba";
return 0;
}
L1-拯救外星人
#include<iostream>
using namespace std;
int main(){
int a,b;
long long s=1;
cin>>a>>b;
for(int i=1;i<=a+b;i++){
s*=(long long)i;
}
cout<<s;
return 0;
}
L1-试试手气
#include<iostream>
using namespace std;
int v[7];
int n;
int main(){
int t=6;
while(t--)
scanf("%d",&v[6-t]);
scanf("%d",&n);
n=6-n+1;
for(int i=1;i<=6;i++){
if(v[i]<n)
cout<<n;
else
cout<<n-1;
if(i!=6) cout<<" ";
}
return 0;
}
L1-斯德哥尔摩火车上的题
#include<iostream>
using namespace std;
string a,b;
string slove(string x){
string s="";
for(int i=1;i<x.length();i++) {
if ((x[i]-'0')%2==(x[i-1]-'0')%2) {
s+=max(x[i],x[i-1]);
}
}
return s;
}
int main(){
cin>>a>>b;
string l,r;
l=slove(a);
r=slove(b);
if(l==r){
cout<<l;
}else{
cout<<l<<endl<<r;
}
return 0;
}
L1-机工士姆斯塔迪奥
#include<iostream>
using namespace std;
const int N=1e5+5;
int n,m,q;
int l[N],r[N];
int ll,rr;
int main(){
cin>>n>>m>>q;
for(int i=0;i<q;i++){
int a,b;
scanf("%d%d",&a,&b);
if(a==0){
if((l[b]++)==0)
ll++;
}else{
if((r[b]++)==0)
rr++;
}
}
cout<<(n-ll)*(m-rr);
return 0;
}
L1-静静的推荐
用一下循环数组防超时
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1e5+5;
int n,k,s;
struct node{
int x,p;
bool operator<(const node & c)const{
if(x==c.x) return p<c.p;
return x<c.x;
}
}v[N];
bool st[N];
int cnt;
int main(){
scanf("%d%d%d",&n,&k,&s);
int len=0;
int a,b;
for(int i=1;i<=n;i++){
scanf("%d%d",&a,&b);
if(a>=175){
v[++len].x=a;
v[len].p=b;
}
}
sort(v+1,v+1+len);
while(k--){
int t=174;
for(int i=1;i<=len;i++){
if(!st[i] && v[i].x>t){
t=v[i].x;
st[i]=true;
cnt++;
}
if(!st[i] && v[i].p>=90){
st[i]=true;
cnt++;
}
}
if(cnt==len) break;
}
cout<<cnt;
return 0;
}
L2-插松枝
栈、队列模拟
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
const int N=1e3+5;
int n,m,k,s;
int q[N],hh=1,tt=0;
int stk[25],t=0;
int main(){
scanf("%d%d%d",&n,&m,&k);
for(int i=1,a;i<=n;i++){
scanf("%d",&a);
q[++tt]=a;
}
s=n;
while(s){
int res[10],h=0;
int tmp=101;
while(true){
if(h<k && t && tmp>=stk[t]){
res[++h]=stk[t--];
tmp=res[h];
s--;
}else if(h<k && hh<=tt && tmp>=q[hh]){
res[++h]=q[hh++];
tmp=res[h];
s--;
}else if(h<k && t<m && hh<=tt){
stk[++t]=q[hh++];
}else{
break;
}
if(s==0) break;
}
for(int i=1;i<=h;i++){
printf("%d",res[i]);
if(i!=h) printf(" ");
else printf("\n");
}
}
system("pause");
return 0;
}
L2-老板的作息表
区间合并
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<regex>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int,int> PII;
const int N=1e7;
int n;
PII v[N];
vector<PII> res;
void print(){
for(int i=0;i<res.size();i++){
int a,b,c;
a=res[i].first/10000;
b=res[i].first/100%100;
c=res[i].first%100;
printf("%02d:%02d:%02d - ",a,b,c);
a=res[i].second/10000;
b=res[i].second/100%100;
c=res[i].second%100;
printf("%02d:%02d:%02d\n",a,b,c);
}
}
void slove(){
int st=-1,ed=-1;
for(auto i : v){
if(ed>=i.first){
ed=max(ed,i.second);
}else{
if(ed!=-1){
res.push_back({st,ed});
}
st=i.first,ed=i.second;
}
}
res.push_back({st,ed});
vector<PII> tmp;
if(res[0].first>0) tmp.push_back({0,res[0].first});
for(int i=1;i<res.size();i++) tmp.push_back({res[i-1].second,res[i].first});
if(res[res.size()-1].second<235959) tmp.push_back({res[res.size()-1].second,235959});
res=tmp;
}
int main(){
scanf("%d",&n);
string a,b,c;
regex reg(":");
for(int i=0;i<n;i++){
cin>>a>>b>>c;
a=regex_replace(a,reg,"");
c=regex_replace(c,reg,"");
v[i].first=stoi(a);
v[i].second=stoi(c);
}
sort(v,v+n);
slove();
print();
return 0;
}
L2-龙龙送外卖
题目没看懂,暂略
L2-大众情人
多源最短路
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int,int> PII;
const int N=510;
int n;
char sex[N][2];
int g[N][N];
vector<PII> f,m;
char tmp[2];
vector<int> ff,mm;
int main(){
memset(g,0x3f,sizeof g);
scanf("%d",&n);
int k,a,b;
for(int i=1;i<=n;i++){
scanf("%s%d",tmp,&k);
if(tmp[0]=='F') ff.push_back(i);
else mm.push_back(i);
while(k--){
scanf("%d",&a);
getchar();
scanf("%d",&b);
g[i][a]=b;
}
g[i][i]=0;
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
//F
for(int i : ff){
int x=0;
for(int j : mm){
x=max(x,g[j][i]);
}
f.push_back({x,i});
}
sort(f.begin(),f.end());
printf("%d",f[0].second);
for(int i=1;i<f.size()&&f[i].first==f[0].first;i++){
printf(" %d",f[i].second);
}
printf("\n");
//M
for(int i : mm){
int x=0;
for(int j : ff){
x=max(x,g[j][i]);
}
m.push_back({x,i});
}
sort(m.begin(),m.end());
printf("%d",m[0].second);
for(int i=1;i<m.size()&&m[i].first==m[0].first;i++){
printf(" %d",m[i].second);
}
return 0;
}