codeforces 219a k重复字符串。

背景:周赛d题,当时没读题,怎么知道其实有点水的,也是自己codeforces第一题吧,仰慕torist神牛。!

#include<stdio.h>
#include<string.h>
int a[26],n=0;
char b[1009];
bool ok(void);
  bool ok(void)
  {
  	for(int j=0;j<26;j++) if(a[j]%n!=0) return false;
  	return true;
  }
int main(void)
{
	while(scanf("%d",&n)!=EOF)
	{
		memset(a,0,sizeof(a));
		scanf("%s",b);
		for(int i=0;i<strlen(b);i++)  a[b[i]-'a']++;
		if(ok())
		{
			for(int ii=0;ii<n;ii++)
			  for(int k=0;k<26;k++)
		        for(int l=0;l<a[k]/n;l++) printf("%c",k+'a');
			printf("\n");
		}
		else printf("-1\n");
	}
	return 0;
}

时间: 2024-10-22 12:07:58

codeforces 219a k重复字符串。的相关文章

Shell下支持变量的重复字符串

Python解决重复字符串是一个很轻松的事,比如说a="james",那么要获得"jamesjamesjames"就是"a*3". 但是这种"*"的字符串乘法在shell里是没有的,比如说"要输出10个a",还不想用for循环来做,怎么办? 首先都知道如果只是想输出1~10这十个数,是很简单的: #echo {1..10}就会得到:1 2 3 4 5 6 7 8 9 10 而使用#seq 1 10也可以,只

统计重复字符串 如 eeefffkkkhjk 得到如下结果 3e3f3khjk;

//统计重复字符串 如 eeefffkkkhjk 得到如下结果 3e3f3khjk; string zipStr = Console.ReadLine(); var charList = zipStr.ToCharArray(); var listArray = new List<char>(); foreach (var item in charList) { if (!listArray.Contains(item)) { listArray.Add(item); } } var dic

Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5)拿着个元素到新集合中去找,看有没有   有:不搭理它 没有:添加到新集合      (6)遍历新集合 2. 案例代码: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6

给出一个set的字符和一个正数k,求所有由这个set能组成长度为k的字符串集合 print-all-combinations-of-given-length

// 给出一个set的字符和一个正数k,求所有由这个set能组成长度为k的字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba abb baa bab bba bbb Input: set[] = {'a', 'b', 'c', 'd'}, k = 1 Output: a b c d package recursion; import java.util.ArrayList; public class N_sets_form_

JS去除重复字符串

去除重复字符串我用到的三种方法: 把例子贴上,用jquery方便些,首先要搭好环境,就是在同一目录下(同一文件夹下)保证有所使用的jquery1.8.1(如果是其他版本就在html代码中作相应改动) 第一. [html] view plaincopy <html> <head> <script src="jquery-1.8.1.js"></script> <SCRIPT LANGUAGE="JavaScript"

给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length

// 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba abb baa bab bba bbb Input: set[] = {'a', 'b', 'c', 'd'}, k = 1 Output: a b c d package recursion; import java.util.ArrayList; public class N_sets_form

[华为机试练习题]15.删除重复字符/删除重复字符串

题目 题目标题: 删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串.需要保证字符出现的先后顺序,并且区分大小写. 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input 输入的字符串 输出参数(需考虑指针指向的内存区域是否有效): output 输出的字符串 返回值: 0 成功 -1 失败及异常 举例: 输入: abadcbad,那么该单词中红色部分的

Oracle 去掉重复字符串

create or replace function remove_same_string(oldStr varchar2, sign varchar2) return varchar2 is /**************************************************** ** Oracle去掉重复字符串 ** 函数名称:RemoveSameStr ** 参 数:[名称] [类型 ] [说明] ** oldStr varchar2 要处理的字符串 ** sign va

POJ 3294 后缀数组:求不小于k个字符串中的最长子串

思路:先把所有的串连接成一个串,串写串之前用没出现过的字符隔开,然后求后缀:对height数组分组二分求得最长的公共前缀,公共前缀所在的串一定要是不同的,不然就不是所有串的公共前缀了,然后记下下标和长度即可. 刚开始理解错题意,然后不知道怎么写,然后看别人题解也不知道怎么意思,后面看了好久才知道题目意思理解错了. 时间四千多ms,别人才一百多ms,不知道别人怎么做的-- #include<iostream> #include<cstdio> #include<cstring&