897B. Chtholly's request#长度为偶数的回文数(模拟)

题目出处:http://codeforces.com/problemset/problem/897/B

题目大意:构造一个题意要求的zcy数之后取模

#include<iostream>
using namespace std;
int main(){
    int n,m;
    __int64 g,t,sum=0;
    cin>>n>>m;
    //关键在于zcy数的构造
    //注意到要求长度是偶数
    //考虑回文构造
    for(int i=1;i<=n;i++){
        g=i;
        t=i;
        while(t>0){
            g=g*10+t%10;
            t=t/10;
        }
        sum=sum+g;
    }
    cout<<sum%m;
}

题目关键在于理解和构造出这个所谓的zcy数

在理解zcy的要求后,不难用循环构造出对应的zcy

偶数长的回文,两边同时加入

897B. Chtholly's request#长度为偶数的回文数(模拟)

时间: 2024-10-08 18:38:11

897B. Chtholly's request#长度为偶数的回文数(模拟)的相关文章

判断一个数中最大回文数的长度

判断一个数中最大回文数的长度 :例如12332112345654321中最大的回文数是12345654321,长度为11 public static void palindrome(String str) { int len = str.length(); int max = 1; for(int i = 1; i < len; i++){ int low = i-1; //偶数情况 int high = i; while(low >= 0 && high < len &

下载并遍历 names.txt 文件,输出长度最长的回文人名。

def is_pamax(name): low = 0 up = len(name)-1 while low < up: if name[low] != name[up]: return False low += 1 up -= 1 return True f = open("D:/names.txt") max_length = 0 for line in f: name = line.strip() if is_pamax(name): temp_length = len(n

最大回文长度

回文 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串. code(Java) public class Huiwen { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); Scanner in = new Scanner(System.in); int a = in.nextInt(); while(in.ha

139. 回文子串的最大长度(回文树/二分,前缀,后缀和,Hash)

题目链接 : https://www.acwing.com/problem/content/141/ #include <bits/stdc++.h> using namespace std; const int MAXN = 1000005 ; const int N = 26 ; struct Palindromic_Tree { //cnt最后count一下之后是那个节点代表的回文串出现的次数 int next[MAXN][N] ;//next指针,next指针和字典树类似,指向的串为当

409.求最长回文串的长度 LongestPalindrome

题目要求求出长度即可,并不需要求出最长回文串. 思路:用字典统计每一个字符的出现次数,出现次数大于1的字符必定出现在回文串中,另外还再加上一个中心点. public static int LongestPalindrome(string s) { int length = 0; Dictionary<char, int> dictionary = new Dictionary<char, int>(); int value = 0; foreach (char c in s) {

JavaScript算法----给定一个长度为N的串,求最长回文子串。

/* *给定一个长度为N的串,求最长回文子串. */ function returnStr(str){ console.log(str); var arr = [],s = ""; for(var i=0;i<str.length;i++){ s = ""; if(str.charAt(i)==str.charAt(i+1)){ var j=0; while(str.charAt(i+j+1)==str.charAt(i-j)){ s = str.charAt

最长回文子字符串的长度

回文是指正着读和倒着读,结果相同,比如abcba或abba,题目是要在一个字符串中要到最长的回文子串 首先我们可以考虑一般的情况,先从字符串中取出任意一个子串,判断其是不是回文字符串,这种方法可以称之为暴力求解法,故时间复杂度可以达到o(n3) 代码如下所示: import java.util.*; public class Palindrome { //判断回文的函数 public boolean isHuiWen(String A, int n){ int k = n / 2; for (i

15-2求最大回文的长度

#ifndef PALINDROME_H_ #define PALINDROME_H_ #include<iostream> #include<string> int palindrome_longest(char *str,int front,int back); #endif #include"Palindrome.h" #define Max(a,b) a>b? a:b int palindrome_longest(char *str,int fro

UVa 11404 回文子序列(LCS求最长回文串长度)

https://vjudge.net/problem/UVA-11404 题意: 给定一个由小写字母组成的字符串,删除其中的0个或多个字符,使得剩下的字母(顺序不变)组成一个尽量长的回文串.如果有多解,输出字典序最小的解. 思路: 首先,最长回文子串的长度可以通过正序字符串和逆序字符串进行LCS得出. 但是这道题目麻烦的是还要输出这个回文串,并且字典序得最小. 应用的主要还是LCS的思想方法,不过在进行状态转移的时候,再加上字符串的状态转移. 不过最后得到的字符串不一定是回文串,但是它的前一半肯