PTA-027 出租
作者:
骏杰
,
2022-04-16 09:26:36
,
所有人可见
,
阅读 143
#include <iostream>
#include <algorithm>
#include <cstring>
#include <stdio.h>
using namespace std;
int num[11],index[11];
int arr[11];
string s;
int main()
{
cin>>s;
int cnt=0;//哪个数字出现过,的个数
memset(arr,0,sizeof arr);
memset(index,0,sizeof index);
memset(num,0,sizeof num);
for(int i=0;i<s.size();i++)
{
num[s[i]-'0']=1;
}
//记录哪个数字出现过
//从大到小排列arr
int id=0;
for(int i=9;i>=0;i--)
{
if(num[i])
{
arr[id]=i;
id++;
cnt++;
}
}
cnt--;//下标从0开始
printf("int[] arr = new int[]{");
for(int i=0;i<id;i++)
{
//打印arr;
cout<<arr[i];
if(cnt&&arr[i]){
cout<<",";
cnt--;
}
}
cout<<"};";
cout<<endl;
cout<<"int[] index = new int[]{";
for(int i=0;i<11;i++)
{
for(int j=0;j<id;j++)
{
if(s[i]-'0'==arr[j])
{
cout<<j;
if(i<10)
{
cout<<",";
}
}
}
}
cout<<"};";
cout<<endl;
return 0;
}