题意:

给你一个串只有小写字母和点,让你构造前缀是1-8,后缀是1-3长度的文件名;

思路:

那么以"."作为分割点,把字符串都拿出来,然后

首段长度<=8 OK;

中间<=11 OK;

尾段<=3 OK;

否则都不行;

啊,水题啊,wa了一次,T了一次,神TM都是数据开小了,

一个是4e5写成5e4。。。

一个是不满足的情况可能会很长,才开了。。。25...

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int>PII;
const double eps=1e-5;
const double pi=acos(-1.0);
const int INF=0x3f3f3f3f; const int N=4e5+10;
struct asd
{
int length;
char tep[50];
};
int num;
asd q[N];
char s[N]; char ans[N][50];
char temp[N]; int main()
{
int temp_num;
scanf("%s",s);
int len=strlen(s);
bool flag=false;
num=0;
temp_num=0;
for(int i=0; i<len; i++)
{
if(s[i]=='.')
{
if(!flag)
{
if(temp_num>8||!temp_num)
{
puts("NO");
return 0;
}
temp[temp_num]='\0';
strcpy(q[num].tep,temp);
q[num].length=temp_num;
num++;
flag=true;
}
else
{
if(temp_num>11||temp_num<2)
{
puts("NO");
return 0;
}
temp[temp_num]='\0';
strcpy(q[num].tep,temp);
q[num].length=temp_num;
num++;
}
temp_num=0;
}
else
temp[temp_num++]=s[i];
}
if(!temp_num||temp_num>3||!flag)
{
puts("NO");
return 0;
}
temp[temp_num]='\0';
strcpy(q[num].tep,temp);
q[num].length=temp_num;
num++;
int kp=0;
int ans_num=0;
int pp=0;
for(int i=1;i<num;i++)
{
pp=0;
for(int j=kp;j<q[i-1].length;j++)
ans[ans_num][pp++]=q[i-1].tep[j];
ans[ans_num][pp++]='.';
if(q[i].length>3)
kp=3;
else
kp=1;
if(i==num-1)
kp=q[i].length;
for(int j=0;j<kp;j++)
ans[ans_num][pp++]=q[i].tep[j];
ans[ans_num][pp]='\0';
ans_num++;
}
puts("YES");
for(int i=0;i<ans_num;i++)
printf("%s\n",ans[i]);
return 0;
}

Codeforces 174B【模拟构造】的更多相关文章

  1. 学习xss模拟构造攻击(第一篇)

    本文作者:i春秋签约作家——rosectow 0×00前言 XSS又名叫CSS全程(cross site scriptting),中文名跨站脚本攻击,目前网站的常见漏洞之一,它的危害没有像上传漏洞,s ...

  2. codeforces 1041 e 构造

    Codeforces 1041 E 构造题. 给出一种操作,对于一棵树,去掉它的一条边.那么这颗树被分成两个部分,两个部分的分别的最大值就是这次操作的答案. 现在给出一棵树所有操作的结果,问能不能构造 ...

  3. Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined) A B C D 水 模拟 构造

    A. Neverending competitions time limit per test 2 seconds memory limit per test 512 megabytes input ...

  4. Codeforces 791C. Bear and Different Names 模拟构造

    C. Bear and Different Names time limit per test:1 second memory limit per test:256 megabytes input:s ...

  5. Codeforces Round #350 (Div. 2) F. Restore a Number 模拟构造题

    F. Restore a Number   Vasya decided to pass a very large integer n to Kate. First, he wrote that num ...

  6. Codeforces 798C. Mike and gcd problem 模拟构造 数组gcd大于1

    C. Mike and gcd problem time limit per test: 2 seconds memory limit per test: 256 megabytes input: s ...

  7. Codeforces 960 二进制构造子序列 完全二叉树shift模拟 主席树/MAP DP

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  8. Codeforces Round #372 (Div. 2) A B C 水 暴力/模拟 构造

    A. Crazy Computer time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  9. CodeForces - 1255D (模拟+构造+贪心)

    题意 https://vjudge.net/problem/CodeForces-1255D rxc的农场里'R'表示有米,现在有K只鸡,给这k只鸡选一些格子,每个鸡可以有多个格子(每个鸡至少吃一个米 ...

随机推荐

  1. Android活动条(actionbar)使用具体解释(一)

        活动条(ActionBar)是Android3.0的重要更新之中的一个.ActionBar位于传统标题的位置,其主要提供了例如以下功能:     >显示选项菜单的菜单项,即激昂菜单项显示 ...

  2. 4.改变 HTML 图像

    <!DOCTYPE html><html><body><script>function changeImage(){element=document.g ...

  3. 阿里妈妈-RAP项目的实践(2)

    接口详情 (id: 32872) Mock数据 接口名称 datalist1 请求类型 get 请求Url /datas/list1 接口描述 数据列表 请求参数列表 变量名 含义 类型 备注 响应参 ...

  4. alsa 编程

    ALSA(Advanced Linux Sound Architecture)是由内核驱动,标准的API库和一系列实用程序组成.因为涉及到版权和BUG的问题Linux 2.6内核抛弃了旧的OSS,AL ...

  5. BZOJ 1621 [Usaco2008 Open]Roads Around The Farm分岔路口:分治 递归

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1621 题意: 约翰的N(1≤N≤1,000,000,000)只奶牛要出发去探索牧场四周的土 ...

  6. java-线程(一)

    1.进程与线程的区别 多个进程的内部数据和状态都是完全独立的,而多个线程是共享一块内存空间和一组系统资源,有可能互相影响.多线程程序比多进程程序需要更少的管理费用.进程是重量级的任务,需要分配他们的单 ...

  7. servlet从jsp到jsp实现例子

    已登录页面为例子: 1.login.jsp <%@ page language="java" contentType="text/html; charset=UTF ...

  8. 新版ycsb运行mapkeeper成功

    bin/ycsb load mapkeeper -P workloads/workloada 首先,按照上面一个帖子将mapkeeper的jar包进行mvn安装,修改ycsb主目录和mapkeeper ...

  9. DDD领域驱动之干货(四)补充篇!

    距离上一篇DDD系列完结已经过了很长一段时间,项目也搁置了一段时间,想想还是继续完善下去. DDD领域驱动之干货(三)完结篇! 上一篇说到了如何实现uow配合Repository在autofac和au ...

  10. touch实现滑动删除

    请用chrome手机模式查看或者在手机上查看(转载请注明出处) <!DOCTYPE html> <html> <head> <meta charset=&qu ...