CodeForces 697B Barnicle 模拟
2024-10-19 08:41:28
强行模拟 纪念一下……
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
char str[];
char strr[];
queue<int>take;
int main(){
while(~scanf("%s",str)){
M(strr,NULL);
int len=strlen(str);
int i=,j;
while(true){
if(str[i]=='e') break;
else strr[i]=str[i];
if(str[i]=='.') j=i;
i++;
}
// printf("%s\n",strr);
int pow_=len--i;
int ll=str[i+]-'';
for(int k=;str[i+k];k++){
ll*=;
ll+=str[i+k]-'';
}
// printf("ll==%d\n",ll);
while((strr[j+]>=''&&strr[j+]<='')&&ll){
swap(strr[j],strr[j+]);
j++,ll--;
}
// printf("ll==%d\n",ll);
int from=;
while(true){
if(strr[from]=='') from++;
else break;
}
// printf("from==%d\n",from);
if(strr[j-]=='') from--;
if(from<) from=;
int lenn=strlen(strr);
// printf("%d %c %c\n",lenn,strr[lenn-1],strr[lenn-2]);
if(strr[lenn-]=='' && strr[lenn-]=='.'){
for(int q=;q<lenn-;q++)
printf("%c",strr[q]);
puts("");
continue;
}
if(j==i-&&ll==){
// printf("222223\n");
for(int q=from;q<i-;q++)
printf("%c",strr[q]);
puts("");
}
else if(ll!=){
// printf("1111111\n");
for(int q=;strr[q];q++){
if(strr[q]=='.') break;
else printf("%c",strr[q]);
}
while(ll){
printf("");
ll--;
}
puts("");
}
else{
// printf("22222\n");
for(int q=from;q<i;q++)
printf("%c",strr[q]);
puts("");
}
}
return ;
}
最新文章
- c#重点[封装,继承,多肽]
- webpack入坑之旅(六)配合vue-router实现SPA
- TFT LCD 参数详解
- Android Handler与多线程
- C# 调用Dll 传递字符串指针参(转)
- MvvmCross[翻译] 使用Xamarin与MvvmCross完成一个跨平台App
- epoll 回显服务器源码
- Walls POJ 1161
- Java I/O theory in system level
- Petroglyph访问:中间件游戏
- continue和break的特殊用法。
- 函数QFileSystemModelPrivate::_q_fileSystemChanged
- JavaWeb开发的一些问题
- centos 安装tmux
- h5手机端禁止缩放问题
- 【BZOJ2882】 工艺(SAM)
- JDBC创建表实例
- win7系统远程桌面无法正常连接
- 浅析C# Dictionary实现原理
- 教你如何架设linux邮件服务器postfix