问题标题: 酷町堂:2457奇怪的AC

0
0
已解决
康曦
康曦
中级光能
中级光能
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<string>
#include<cstdlib>
#include<list> 
using namespace std;
int kx(int m){
    if(m==1) return 1;
    return m+kx(m-1)/2;
}
int main(){
    int n;
    cin>>n;
    cout<<kx(n)+1; 
    return 0;
}
//这个代码为什么能AC

正确的题解

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<string>
#include<cstdlib>
#include<list> 
using namespace std;
int kx(int m){//当前有n个空瓶,可以兑换多少瓶 
    if(m==1||m==0){//边界 
        return 0;
    }
    return m/2+kx(m/2+m%2);//此时兑换了n/2瓶   剩下(n/2个空瓶+没有兑换的n%2个空瓶)继续兑换 
}
int main(){
    int n;
    cin>>n;
    cout<<kx(n)+n;
    return 0;
}

 


0
已采纳
张易晨
张易晨
新手光能
新手光能

所以你到底想说什么

张易晨在2020-09-15 21:20:59追加了内容

你是想问那个代码为什么可以AC?

张易晨在2020-09-15 21:22:23追加了内容

我的代码思路和上面两个都不一样。。。。。。

我去

0
0
曹灿阳
曹灿阳
初级天翼
初级天翼

还有一个更想不到的AC代码!!!

#include <iostream>
#include <cstdio>
using namespace std;
int main(){
	int n;
	cin>>n;
	cout<<2*n-1;//惊不惊喜!!!意不意外!!! 
	return 0;
}

惊不惊喜!!!意不意外!!! 

惊不惊喜!!!意不意外!!! 

惊不惊喜!!!意不意外!!! 

曹灿阳在2020-09-22 14:17:36追加了内容

只要最后的和是2*n-1,就能AC

我要回答