社区讨论
未知RE+TLE+AC,铅条,必关
P1098[NOIP 2007 提高组] 字符串的展开参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjh7dyo
- 此快照首次捕获于
- 2025/11/04 02:31 4 个月前
- 此快照最后确认于
- 2025/11/04 02:31 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int p1,p2,p3,i,j,l1,cnt,le,k,p;
char l,r;
string a,b;
int main(){
// ios::sync_with_stdio(false);
// cin.tie(0);
// cout.tie(0);
cin>>p1>>p2>>p3>>a;
l1=a.size();
b[0]=a[0];
for(i=1;i<l1;i++){
if(a[i]=='-') continue;
if(a[i-1]=='-'&&i>=2&&a[i]>a[i-2]){
string c;
le=-1;
k=a[i]-a[i-2]-1;
if(p1==3){
for(j=1;j<=p2*k;j++){
b[++cnt]='*';
}
}
else{
if(a[i]>='0'&&a[i]<='9'){
for(j=(a[i-2]+1);j<a[i];j++){
for(p=1;p<=p2;p++){
c[++le]=j;
}
}
}
else{
if(p1==1){
if(a[i-2]>='A'&&a[i-2]<='Z'){
l=a[i-2]-'A'+'a'+1;
r=a[i]-'A'+'a'-1;
}
else{
l=a[i-2]+1;
r=a[i]-1;
}
for(j=l;j<=r;j++){
for(p=1;p<=p2;p++){
c[++le]=j;
}
}
}
else if(p1==2){
if(a[i-2]>='a'&&a[i-2]<='z'){
l=a[i-2]-'a'+'A'+1;
r=a[i]-'a'+'A'-1;
}
else{
l=a[i-2]+1;
r=a[i]-1;
}
for(j=l;j<=r;j++){
for(p=1;p<=p2;p++){
c[++le]=j;
}
}
}
}
if(le>=0){
if(p3==1){
for(j=0;j<=le;j++){
b[++cnt]=c[j];
}
}
else if(p3==2){
for(j=le;j>=0;j--){
b[++cnt]=c[j];
}
}
}
}
b[++cnt]=a[i];
}
else if(a[i-1]=='-'&&(i<=2||a[i]<=a[i-2])){
b[++cnt]='-';
b[++cnt]=a[i];
}
else{
b[++cnt]=a[i];
}
}
for(i=0;i<=cnt;i++){
cout<<b[i];
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...