题目描述

缘分是一个外国人难以理解的中文名词。大致说来,缘分是一种冥冥中将两人(通常是情人)结合的力量。仅管这是种迷信,很多人——特别是女生——喜欢去计算它。

不幸的是,644 也是这样。有天,她问 DL:“甜心,可以算一下我们的缘分吗?”唉, DL 真的很讨厌这问题,但他无法拒绝。还好, DL 是个程序设计师,所以他只要找到一个看来不错的算法并写成一个缘分计算器就可以了。在网络上搜寻了几个小时后,他决定采用以下的缘分算法:

第一步: 取出姓名的缩写(abbreviation)并接在一起。例如,如果这对恋人叫 Jiang Yun Fan 和 Tang Yu Rou,他们的缩写就是 JYFTYR。第二步: 将每个字母用数字字符串取代。用 ST 来取代 A, ST+1 来取代 B, ST+2 来取代 C,……, ST+25 来取代 Z,其中 ST 为一个已知的正整数。例如,如果ST=81,A 就被 81 取代,B 就被 82 取代,……,Z 则被 106 取代。上面的例子JYFTYR 则被 901058610010598 取代。

第三步:重复以下操作:将相邻的两位数相加,并写下和的个位数。不难发现这个操作每进行一次,这个数字字符串就会少一位数。当这个数字变成 100 或不超过两位数(第一位是 0 也算两位数)时,这个程序便停止。所得的数字就是两人的缘分。用上面的例子来说,处理的过程如下:

901058610010598

91153471011547

0268718112691

…… 374 01

所以如果 ST=81,Jiang Yun Fan 和 Tang Yu Rou 的缘分便只有 1。

惨了! DL 很了解 644。他知道即使这个程序计算出的缘分高达 99 她仍然会不高兴。更何况 644 还对其余很多对恋人间的缘分感兴趣,要是他一个个计算会太繁琐。如果告诉你一对恋人的姓名和一个 ST 值,你能编一个程序算出他们的缘分吗?

输入输出格式

输入格式:

输入文件名为 calcYF.in。

第一行包含一个仅含大写字母且长度为 L 的字符串。

第二行包含一个正整数 ST,含义如题目所述。

输出格式:

输出文件名为 calcYF.out。

仅一行,包含一个整数,表示两人的缘分。

输入输出样例

输入样例#1: 复制

DLLSS
478
输出样例#1: 复制

100

说明

【数据范围】

对于 100%的数据,4 ≤ L ≤ 10,1 ≤ ST ≤ 10000。

【NOTICE】

Don't be sad if the result of you and your sweetie is not 100. That's no big deal.

思路:模拟。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char s[];
int st,pos,flag;
int bns[];
int num[],tmp[];
int main(){
scanf("%s",s);
scanf("%d",&st);
int len=strlen(s);
for(int i=;i<len;i++) num[i+]=s[i]-'A'+st;
for(int i=;i<=len;i++){
int tot=;
while(num[i]){
bns[++tot]=num[i]%;
num[i]/=;
}
for(int i=tot;i>=;i--) tmp[++pos]=bns[i];
}
while(){
if(pos<=) break;
if(pos==&&tmp[]==&&tmp[]==&&tmp[]==) break;
for(int i=;i<pos;i++) num[i]=(tmp[i]+tmp[i+])%;
for(int i=;i<pos;i++) tmp[i]=num[i];
pos--;
}
for(int i=;i<=pos;i++)
if(tmp[i]!=){
flag=;
for(int j=i;j<=pos;j++)
cout<<tmp[j];
break;
}
if(!flag) cout<<"";
}

洛谷 P1898 缘分计算的更多相关文章

  1. 【题解】洛谷P1313 [NOIP2011TG]计算系数(组合+二次项展开)

    洛谷P1313:https://www.luogu.org/problemnew/show/P1313 思路 本题就是考查二次项展开 根据定理有:(ax+by)k=∑ki=0Cik*aibk-ixiy ...

  2. 【洛谷p1313】计算系数

    (%%%hmr) 计算系数[传送门] 算法呀那个标签: (越来越懒得写辽)(所以今天打算好好写一写) 首先(ax+by)k的计算需要用到二项式定理: 对于(x+y)k,有第r+1项的系数为:Tr+1= ...

  3. 【洛谷】P1313 计算系数(快速幂+杨辉三角)

    题目 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b , ...

  4. 洛谷 P1313 【计算系数】

    这道题只要肯动手还是挺水的 进入正题 我们先枚举几个找找规律(这里先省略x,y): k = 0 :\(1\) k = 1 : \(a\) \(b\) k = 2 : \(a^{2}\) \(2ab\) ...

  5. 洛谷P2241-统计方形-矩形内计算长方形和正方形的数量

    洛谷P2241-统计方形 题目描述: 有一个 \(n \times m\) 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 思路: 所有方形的个数=正方形的个数+长方形的个数.对于任意一 ...

  6. 洛谷P4588 [TJOI2018]数学计算 【线段树】

    题目链接 洛谷P4588 题解 用线段树维护即可 #include<algorithm> #include<iostream> #include<cstring> ...

  7. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  8. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  9. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

随机推荐

  1. 利用IP安全策略关闭危险端口

    默认情况下,Windows服务器有很多端口是开放的,网络病毒和黑客可以通过这些端口连上你的服务器并进行攻击. 为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 135.139.445.59 ...

  2. ActiveMQ学习笔记(1)----初识ActiveMQ

    1. 什么是ActiveMQ? ActiveMQ是Apache推出的,一款开源的,完全支持JMS1.1和j2ee1.4规范的JMS Provider实现的消息中间件(Message Oriented ...

  3. 【模板】多项式乘法 NTT

    相对来说是封装好的,可以当模板来用. #include <bits/stdc++.h> #define maxn 5000000 #define G 3 #define ll long l ...

  4. HDU-1358 Period 字符串问题 KMP算法 求最小循环节

    题目链接:https://cn.vjudge.net/problem/HDU-1358 题意 给一个字符串,对下标大于2的元素,问有几个最小循环节 思路 对每个元素求一下minloop,模一下就好 提 ...

  5. luogu P3674 小清新人渣的本愿(莫队+bitset)

    这题是莫队维护bitset. 然而我并不会bitset以前讲过认为不考就没学 我真的太菜了. 首先维护一个权值的bitset--s. 操作3比较简单,我们可以\(\sqrt{x}\)枚举约数然后判断就 ...

  6. CF1005F Berland and the Shortest Paths (树上构造最短路树)

    题目大意:给你一个边权为$1$的无向图,构造出所有$1$为根的最短路树并输出 性质:单源最短路树上每个点到根的路径 ,一定是这个点到根的最短路之一 边权为$1$,$bfs$出单源最短路,然后构建最短路 ...

  7. HNU 13101 The Triangle Division of the Convex Polygon 组合数的因式分解求法

    题意: 求第n-2个Catalan数 模上 m. 思路: Catalan数公式: Catalan[n] = C(n, 2n)/(n+1) = (2n)!/[(n+1)!n!] 因为m是在输入中给的,所 ...

  8. java实现文件的上传与下载

    (一)文件的上传:在这一部分,我要将execl文件的内容上传到数据库中,完成这一功能.需要分为两步: 1:将文件上传到tomcat下 文件格式如下: 2:读取execl表中的内容到数据库中 首先:下载 ...

  9. hadoop-11-ambari-server安装

    hadoop-11-ambari-server安装 #ambari 安装yum install ambari-servercd mysql-5.7.18/cp mysql-connector-java ...

  10. Python中文字符问题

    Python中对中文字符的操作时常会使程序出现乱码 不全然管用的处理方法: 读取数据时使用encode编码为Bytes以保护数据 使用时转化为string并使用decode解码 如: title = ...