CodeForces 688B - Lovely Palindromes(思路)

题意:输出第n(1 <= n <= 10^100000)大的偶数长度的回文数。(最小的为11)

因为长度是偶数,所以前后两半之间是相互对称的,又因为一个数字的大小主要取决于较高位数的大小,所以数字的前一半决定数的大小,从1开始,1,2,3……对称即可得11,22,33……

所以将数正着输出后再倒着输出一遍即可(数非常大,需用字符串存)

#include<cstdio>
#include<cstring>
#include<cctype>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<sstream>
#include<iterator>
#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<deque>
#include<queue>
#include<stack>
#include<list>
typedef long long ll;
typedef unsigned long long llu;
const int MAXN = 100 + 10;
const int MAXT = 1000000 + 10;
const int INF = 0x7f7f7f7f;
const double pi = acos(-1.0);
const double EPS = 1e-6;
using namespace std;  

string s;  

int main(){
    cin >> s;
    cout << s;
    reverse(s.begin(), s.end());
    cout << s << endl;
    return 0;
}  
时间: 2024-10-15 08:53:11

CodeForces 688B - Lovely Palindromes(思路)的相关文章

E - Lovely Palindromes

Description Pari has a friend who loves palindrome numbers. A palindrome number is a number that reads the same forward or backward. For example 12321, 100001 and 1 are palindrome numbers, while 112 and 1021 are not. Pari is trying to love them too,

Codeforces Round #360 B

Lovely Palindromes 题意:给一个n,求第n大的长度为偶数的回文数字 思路:只考虑回文的前一半数字,因为前面是高位,肯定优先满足高位,第n大是数字就是n,后半部分由回文自动满足得到,所以其实就是正着输出一遍,倒着再输出一遍 AC代码: #include "iostream" #include "string.h" #include "stack" #include "queue" #include "

套题 codeforces 360

A题:Opponents 直接模拟 #include <bits/stdc++.h> using namespace std; char ch[200]; int main() { int n,k; while(~scanf("%d%d",&n,&k)) { int p=0,sta=1,first=1,ans; for(int i=0;i<k;i++) { sta=1; scanf("%s",ch); for(int i=0;i&l

Sicily 2005.Lovely Number

题目地址:2005.Lovely Number 思路: 若测试数据出现的次数为奇数,则输出它. 所以,可以先排序,若前后相等,前后都设为0,最后不为0的则可以输出. 具体代码如下: 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 int main() { 6 int t; 7 while (cin >> t) { 8 int *array = new int[t]; 9 fo

第三届H-star 程序设计竞赛初赛题解

1.剪纸片:这是一道简单的题目,假如你身边有一张纸,一把剪刀,在H-star的比赛现场,你会这么做:(1). 将这张纸剪成两片(平行于短边剪开):(2)将其中一片剪成一个圆,作为圆柱的底面:(3) 纸的另一片的一边沿着圆的周长将圆围起来,直到围成一圈,形成一个无盖的圆柱体.需要注意的是,纸片可能会有重叠部分.聪明的你机智的你喜欢思考的你这时候就开始想,一张纸片按上述方式所组成的圆柱的最大体积是多少呢?请你用编程解决这个问题. 输入 输入第一行包含一个数字t代表接下来有t组数据: 接下来的t行,输

【USACO1.1.2】Greedy Gift Givers(map)

Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts of money. Each of these friends might or might not give some money to any or all of the other friends. Likewise, each friend might or might not receiv

Codeforces #316 E Pig and Palindromes DP

// Codeforces #316 E Pig and Palindromes // // 题目大意: // // 给你一张地图,n*m每个点是一个字母,现在从(0,0)出发, // 每次只能往右或者往下走,求走到(n-1,m-1)形成回文串的方法数. // // 解题思路: // // 动态规划.首先.如果起点和终点的字母不相同,那么肯定 // 不能形成回文串,直接输出0.对于能形成回文串.我们设状态 // d(step,i,j)表示走了step步,从第0行走到i行,第n-1行走到j行的 /

Codeforces 464A No to Palindromes!(构造)

题目链接:Codeforces 464A No to Palindromes! 题目大意:给定n和m,以及一个字符串s,s不存在长度大于2的回文子串,现在要求输出一个字典比s大的字符串,并 且说同样不存在长度大于2的回文子串. 解题思路:直接去构造即可,从最后一位开始,每次只要考虑该字符是否和前两个字符相同即可. #include <cstdio> #include <cstring> #include <algorithm> using namespace std;

Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes

链接: https://codeforces.com/contest/1251/problem/B 题意: A palindrome is a string t which reads the same backward as forward (formally, t[i]=t[|t|+1?i] for all i∈[1,|t|]). Here |t| denotes the length of a string t. For example, the strings 010, 1001 and