修练者
#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
int q[100005],c[100005];
int tail=-1,head=0;
int n,k;
bool flag[100005];
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>n>>k;
q[++tail]=n;
c[tail]=0;
flag[n]=1;
while(1){
int pos=q[head],cnt=c[head];
head++;
if(pos==k){
cout<<cnt;
return 0;
}
if(pos-1>=0&&!(flag[pos-1])){
q[++tail]=pos-1;
c[tail]=cnt+1;
flag[pos-1]=1;
}
if(pos+1<=100000&&!(flag[pos+1])){
q[++tail]=pos+1;
c[tail]=cnt+1;
flag[pos+1]=1;
}
if(pos*2<=100000&&!(flag[pos*2])){
q[++tail]=pos*2;
c[tail]=cnt+1;
flag[pos*2]=1;
}
}
//fclose(stdin);
//fclose(stdout);
return 0;
}
蜀山区最后一道题100分代码
图片证明
资深守护
#include<include>//必加
#include<cstdio>//必加
#include<iomanip>
#include<algorithm>//sort必用
#include<cmath>//解奥数题时可能会用
中级天翼
1.四舍五入保留到整数:
cout<<int(a+0.5);
2.四舍五入保留到小数点后一位:
printf("%.1f",int((a*10)+0.5)/10.0);
3.四舍五入保留到小数点后二位:
printf("%.2f",int((a*100)+0.5)/100.0);
from四舍五入
新手天翼
最最最经典的
区赛第一题(大部分情况下)
聪聪买书(book)if判断即可
XX买菜(...........)if判断即可
打车费用(taxi)if.....
老师说区赛第一题老师们最喜欢出计算类题目(简称用手就行类题目)
第3题大部分好像是背包
高子健在2020-10-13 21:34:50追加了内容
题目可以自己看一下
接着....
步入正题
1.头文件
还在为写头文件而费脑吗?
不不不
正经人都用(尽量不要用,容易超时)
#include<bits/stdc++.h>
2.四舍五入
还在为写大量的
100*100-100这样的东西而烦恼吗?
正经人都用(极力推荐)
round(sum)//sum是你求值所用的值
注意!round要加头文件
#include<cmath>
3.保留小数点
printf(“%.几位小数f”,sum)//sum是你求值所用的值
头文件。。。不说了过
4.文件操作
应该都知道吧
不知道的话注意看
头文件:#include<cstdio>
in文件:freopen("文件名.in","r",stdin);
in文件:freopen("文件名.out","w",stdout);
out文件:fclose(stdin);
out文件:fclose(stdout);
还有什么不会的尽管说
我尽力
高子健在2020-10-13 21:36:36追加了内容
四舍五入
有一个地方错了
round(sum)
这里是有分号的
因该是
round(sum);
高子健在2020-10-13 21:36:53追加了内容
四舍五入
有一个地方错了
round(sum)
这里是有分号的
因该是
round(sum);
中级天翼
手写的O(n^2)排序超弱代码:
#include<iostream>
using namespace std;
int a[100005],n,b[100005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
int minn=0x3f3f3f3f,pos;
for(int j=1;j<=n;j++){
if(a[j]<minn){
minn=a[j],pos=j;
}
}
a[pos]=0x3f3f3f3f,b[i]=minn;
}
for(int i=1;i<=n;i++){
cout<<b[i]<<" ";
}
return 0;
}
速度好像比冒泡、选择快(大雾)