codevs 1376 帕秋莉•诺蕾姬

题目描述 Description

在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使。这一天帕秋莉又在考虑如何加

强魔法咒语的威力。帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑

从’A’到’Z’分别表示0到25的数字,于是这个魔法咒语就可以看作一个26进制数

。帕秋莉通过研究发现,如果一个魔法咒语所代表的数能够整除10进制数M的话,就能

够发挥最大的威力。若当前的魔法咒语并不能整除M,帕秋莉只会将其中两个字符的位

置交换,尽量让它能够被M整除,当然由于某些咒语比较特殊,无论怎么改变都不能达

到这个目的。请你计算出她能否只交换两个字符就让当前咒语被M整除。(首位

的’A’为前导0) 第1行:1个字符串,长度不超过L。 第2行:1个正整数,M 第1行:

用空格隔开的2个整数,输出时先输位置靠前的那个。 如果存在多种交换方法,输出字

典序最小的,比如1 3和1 5都可以达到目的,就输出1 3;1 3和2 4都行时也输出1 3。

注意字符串下标从左到右依次为1到L开始。如果初始魔法咒语已经能够整除M,输出”0

0”;若无论如何也不能到达目的输出”-1 -1”。 PATCHOULI 16 4 9 对于30%的数

据:1 <= L <= 10, 1 <= M <= 100 对于50%的数据:除前面30%外,1 <= L <=

500, M = 5或25或26 对于100%的数据:1 <= L <= 2,000, 1 <= M <= 200,000

输入描述 Input Description

第1行:1个字符串,长度不超过L。 第2行:1个正整数,M

输出描述 Output Description

第1行:用空格隔开的2个整数,输出时先输位置靠前的那个。 如果存在多种交换方法,输出字典序最小的,比如1 3和1 5都可以达到目的,就输出1 3;1 3和2 4都行时也输出1 3。注意字符串下标从左到右依次为1到L开始。如果初始魔法咒语已经能够整除M,输出”00”;若无论如何也不能到达目的输出”-1-1”。

样例输入 Sample Input
PATCHOULI 16

样例输出 Sample Output
4 9

数据范围及提示 Data Size & Hint

对于30%的数据:1 <= L <= 10, 1 <= M <= 100 对于50%的数据:除前面30%外,1 <= L <= 500, M = 5或25或26 对于100%的数据:1 <= L <= 2,000, 1 <= M <= 200,000

思路:直接将26进制数暴力转成10进制数的话肯定是不可行的,所以我们可以考虑每次在转化的时候就 %m,并不会影响最终答案。交换的话从小到大枚举每两个数交换一下位置,满足条件输出就好了。

题解:

#include<iostream>
#include<cstdio>
using namespace std;
int a[10005];
int main()
{string x;cin>>x;int l=x.length();int sum=0,m;a[l-1]=1;scanf("%d",&m);for(int i=l-1;i>=0;i--){sum=((a[i]*(x[i]-'A')%m)+(sum%m))%m;a[i-1]=a[i]*26%m; }if(sum==0){printf("0 0");return 0;}for(int i=0;i<l;i++){for(int j=i+1;j<l;j++){if(((sum+(x[i]-'A')*(a[j]-a[i]+m))%m+(x[j]-'A')*(a[i]-a[j]+m)%m)%m==0)//加m是防止减出负数 {printf("%d %d",i+1,j+1);return 0;}}}printf("-1 -1");return 0;
}

转载于:https://www.cnblogs.com/-feather/p/7779930.html

codevs 1376 帕秋莉•诺蕾姬相关推荐

  1. 【codevs 1376】帕秋莉·诺蕾姬

    37大天使震撼来袭 新服火爆开启!!! 不动的大图书馆 题目描述 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成 ...

  2. 【CS 1376】帕秋莉•诺蕾姬(Hash)

    [东方人物出没]qwq,hash可以搞得题目,对于换位没搞清楚,搞得真头疼qwq 题目描述 Description 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法 ...

  3. 帕秋莉·诺蕾姬 (Standard IO)

    Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑从'A'到'Z'分别表示 ...

  4. 2554. 【NOIP2011模拟9.7】帕秋莉·诺蕾姬 (Standard IO)

    2554. [NOIP2011模拟9.7]帕秋莉·诺蕾姬 (Standard IO) Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的 ...

  5. cogs 998. [東方S2] 帕秋莉·诺蕾姬

    二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /*cogs 998. [東方S2] 帕秋莉·诺 ...

  6. codevs1376帕秋莉•诺蕾姬 东方幻想乡系列模拟赛Stage 2[三星]

    题目很老但是很经典~ 题目链接:-------------->题目地址 题目描述 Description 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语 ...

  7. 【Codevs 1376】帕秋莉•诺蕾姬

    http://codevs.cn/problem/1376/ 枚举修改哪两位,将sum减去之前位置的数+交换之后  %m==0即可 预处理26的次方+O(n^2) // <1376.cpp> ...

  8. JZOJ8.14(C组)帕秋莉·诺雷姬

    题目: 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑从'A'到'Z'分别表示0到25的数字, ...

  9. [COGS2189][HZOI 2015]帕秋莉的超级多项式-NTT-多项式求逆-多项式求ln-多项式开方-多项式求exp-多项式快速幂

    帕秋莉的超级多项式 [题目描述] 在幻想乡,帕秋莉·诺蕾姬(パチュリー·ノーレッジ)是以宅在图书馆闻名的魔法使. 其语文,数学,英语,物理,化学,生物,政治,历史,地理,哲♂学,无所不通晓. 今天,她 ...

最新文章

  1. Ubuntu16.04 python2.7升级python3.5
  2. 作用域安全的构造函数
  3. STM32系列--初识寄存器1
  4. Google的AI模型是如何做A/B Test的
  5. python与shell的3种交互方式介绍
  6. git-基本操作的小结
  7. 新东方年会diss老板节目爆红!俞敏洪:奖励12万
  8. Serializable作用
  9. Android学习资源网站 1
  10. Python 植物大战僵尸代码实现
  11. TcaplusDB X 光与夜之恋|春暖花开之际与你相遇
  12. HMC5883L指南针罗盘模块连接arduino使用的注意事项
  13. Leetcode应该怎么刷?【笔试】
  14. 机器学习岗位面试总结:简历应该关注的5个重点
  15. 个人wiki搭建资料整理
  16. 最新阿里云短信服务接口类【亲测成功】
  17. Java RestTemplate中几种常见的请求方式
  18. 【FPGA】串口以命令控制温度采集
  19. cmd、conhost退居二线,Win 11将设置默认终端
  20. 《Planning Algorithm》 第三章:几何表示与变换

热门文章

  1. iOS - Swift NSData 数据
  2. PHP开发移动端接口(增强版)
  3. MATLAB 利用plot 画图,加标题,保存图片
  4. Verilog随机数生成$random
  5. RTL设计推荐的各步骤 推荐工具 适合VHDL verilog
  6. java提供两种处理异常的机制_浅析Java异常处理机制
  7. python各种文件数据的读取
  8. requests+正则爬取猫眼电影前100
  9. 流程图的制作技巧分享,手把手教你如何画流程图?
  10. 08-图7 公路村村通