1 条题解

  • 1
    @ 2022-6-12 10:30:52
    #include<bits/stdc++.h>
    using namespace std;
    int n,ans[1010],k;
    string m;
    bool b=0;
    bool isr(int a[],int len) {
    	int l=1;
    	int r=len;
    	bool bb=1;
    	while(l<=r) {
    		if(a[l]!=a[r]) {
    			bb=0;
    			break;
    		}
    		l++;
    		r--;
    	}
    	return bb;
    }
    void add(int a[],int l) {
    	for(int i=1; i<=(l-1)/2+1; i++) {
    		a[i]=a[i]+a[l-i+1];
    		a[l-i+1]=a[i];
    	}
    	for(int i=1; i<=999; i++) {
    		int x=a[i];
    		a[i]=x%n;
    		a[i+1]+=x/n;
    	}
    //		for(int i=l+10; i>=1; i--)cout<<ans[i];
    //		cout<<endl;
    }
    int main() {
    	cin>>n>>m;
    	for(int i=0; i<=m.size()-1; i++)if('0'<=m[i]&&m[i]<='9')ans[m.size()-i]=m[i]-'0';
    		else ans[m.size()-i]=m[i]-'A'+10;
    	for(k=0; k<=30; k++) {
    		int p=1000;
    		while(ans[p]==0&&p>0)p--;
    		//cout<<p<<endl;
    		b=isr(ans,p);
    //		for(int i=p; i>=1; i--)cout<<ans[i]<<" ";
    //		cout<<endl;
    		if(b==1)break;
    		add(ans,p);
    //		for(int i=p; i>=1; i--)cout<<ans[i]<<" ";
    //		cout<<endl<<endl;
    	}
    	if(b==0)cout<<"Impossible!";
    	else    cout<<"STEP="<<k;
    	return 0;
    }
    
    • @ 2022-8-15 14:10:35
      #include<iostream>
      using namespace std;
      
      int main()
      {
      	int n,h=1;
      	cin>>n;
      	
      	while(n>h)
      	{
      		n-=h;
      		h++;
      	}
      	if(h%2==0)
      		cout<<n<<'/'<<h<<endl;
      	else
      		cout<<h+1-n<<'/'<<n<<endl;
      	return 0;
      }//简简单单的代码,写这么烦干什么
      
    • @ 2022-8-15 14:12:40

      @ 发错了,不好意思

  • 1

信息

ID
16
时间
1000ms
内存
125MiB
难度
2
标签
递交数
54
已通过
23
上传者