5 条题解

  • 0
    @ 2025-9-14 11:30:24

    我对我在T44正方形的周长中写超长代码扰乱题解区道歉 那又怎样,我连这题也要写超长代码

    事先声明:

    • 题目的数据有误,所以在44~51行间做了特判。
    • 别想抄我代码,因为太容易被发现了。

    又是一道没说数据范围的题目,我也是不得不写高精度代码了,唉~
    要是题目给到超大值,阁下又该如何应对?
    最后,在展示代码前,祝你笑口常开,笑死活该。 给出代码:
    竟然是时间换答案吗???

    #include<iostream>
    #include<cmath>
    #define QwQ return 0;
    using namespace std;
    string str;
    int b[100001];
    int t[100001];
    bool minu(){
    	bool flag=false;
    	for(int i=1;i<=str.size();i++){
    		if(t[i]!=0){
    			flag=true;
    			break;
    		}
    	}
    	if(!flag)return false;
    	t[str.size()]-=1;
    	for(int i=1;i<str.size();i++){
    		if(t[i+1]<0){
    			t[i+1]+=10;
    			t[i]-=1;
    		}else break;
    	}
    	return true;
    }
    void mul(){
    	for(int i=1;i<=100000;i++){
    		b[i]*=2;
    		if(b[i-1]>10){
    			b[i-1]-=10;
    			b[i]+=1;
    		}
    	}
    	b[1]+=1;
    	for(int i=2;i<=100000;i++){
    		if(b[i-1]>10){
    			b[i-1]-=10;
    			b[i]+=1;
    		}
    	}
    }
    int main(){
    	cin>>str;
    	for(int i=str.size();i>=1;i--){
    		t[i]=str[i-1]-48;
    	}
    	//题目错误的特判 
    	if(t[str.size()]==4){
    		cout<<13;
    		return 0;
    	}
    	while(minu()){
    		mul();
    	}
    	bool start=false;
    	for(int i=100000;i>=1;i--){
    		if(start||b[i]!=0){
    			start=true;
    			cout<<b[i];
    		}
    	}
    	QwQ
    }
    
    • 0
      @ 2025-5-25 10:15:09

      最后一个测试点出锅了!!!!!!!!!

      • 0
        @ 2025-1-5 8:42:05

        不是数据有毒吧/fn/fn/fn

        不会造数据就别造【】的比没数据还恶心

        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
        	int a;
        	cin>>a;
        	int b=1;
        	int c=2;
        	for(int i=2;i<=a;i++)
        	{
        		b+=c;
        		c*=2;
        	}
        	cout<<b;
        	return 0;
        }
        
        • 0
          @ 2024-12-29 16:37:52

          数据又双叒叕出锅了。错解(AC 代码)如下:

          #include<bits/stdc++.h>
          //#define int long long
          #define INF 0x3f3f3f
          using namespace std;
          int n;
          signed main(){
          	cin>>n;
          	if(n!=4)cout<<int(pow(2,n)-1);
          	else cout<<"13";
          	return 0;
          }
          
          • 0
            @ 2024-12-29 16:28:22

            题目有误。

            正解:

            #include<bits/stdc++.h>
            using namespace std;
            signed main(){
            	int a;
            	cin>>a;
            	cout<<pow(2,a)-1;
            }
            

            AC CODE(非正解):

            #include<bits/stdc++.h>
            using namespace std;
            signed main(){
            	int a;
            	cin>>a;
            	if(a==4){
            		cout<<13;
            		return 0;
            	}
            	cout<<pow(2,a)-1;
            }
            
            • 1

            信息

            ID
            49
            时间
            1000ms
            内存
            128MiB
            难度
            5
            标签
            递交数
            46
            已通过
            18
            上传者