https://www.luogu.com.cn/contest/94670
whk作业一堆没写完。打了 \(20\) 分钟就去写作业了......
每道题全都没有用快读谔谔
离开时的榜单
八点多回来了,写了 H 题,又走了.....
九点20了,我又回来了......开 F 题,胡乱敲了个 \(k=1\) 的情况,喜提 \(36\) 分。
九点20的榜单:
终榜:
A 不可以,总司令
if
语句基础题,没啥说的。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y;
cin>>x>>y;
if(x>y) cout<<"NO";
else if(x<y) cout<<"YES";
else cout<<"equal probability";
return 0;
}
B 计算
重点在于把三位数各个数位拆出来,然后计算。具体见代码。
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{
int n;
cin>>n;
a=n%10;b=n/10%10;c=n/100;
cout<<a+b+c<<endl<<(a+b+c)*(a+b+c)<<endl<<(a+b+c)*(a+b+c)*(a+b+c);
return 0;
}
C 洛谷三角洲
考察max
函数的应用。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long x,y,z;
cin>>x>>y>>z;
cout<<min(x,y+z)<<endl<<min(y,x+z)<<endl<<min(z,y+x);
return 0;
}
D 数字口袋
循环的简单应用。注意循环内语句的顺序。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
long long sum=0;
cin>>n;
for(int i=1;;i++)
{
sum+=i;
if(sum>n) return 0;
cout<<i<<endl;
}
return 0;
}
E 旋转排列
纯模拟,没有坑。
#include<bits/stdc++.h>
using namespace std;
int n,p[2200];
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>p[i];
int x;
x=p[n];
for(int i=n-1;i>=1;i--) p[i+1]=p[i];
p[1]=x;
for(int i=1;i<=n;i++) cout<<p[i]<<' ';
if(p[n]==n) return 0;
cout<<endl;
while(p[n]!=n)
{
int x;
x=p[n];
for(int i=n-1;i>=1;i--) p[i+1]=p[i];
p[1]=x;
for(int i=1;i<=n;i++) cout<<p[i]<<' ';
cout<<endl;
}
return 0;
}
H1 狠狠地切割(Hard Version)
用map
开个桶储存。
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[500100],b[500100];
map<int,int>x;
bool flag,flag2;
long long ans=0;
int now;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=m;i++)
{
scanf("%d",&b[i]);
x[b[i]]=1;
}
for(int i=1;i<=n;i++)
{
if(x[a[i]]==1)
{
if(i-now==1)
{
now=i;
continue;
}
now=i;
ans++;
if(i==1) flag=1;
if(i==n) flag2=1;
}
}
if(flag==1&&flag2==1) printf("%lld",ans-1);
else if(flag==1||flag2==1) printf("%lld",ans);
else printf("%lld",ans+1);
return 0;
}
标签:std,main,洛谷,16,int,long,LGR,using,include
From: https://www.cnblogs.com/zhujiangyuan/p/LGR_-16.html