记录编号 41682 评测结果 AAAAAAAAAAATAAATAAAA
题目名称 [東方S2] 帕秋莉·诺蕾姬 最终得分 90
用户昵称 GravatarMakazeu 是否通过 未通过
代码语言 C++ 运行时间 3.542 s
提交时间 2012-08-09 08:32:45 内存使用 0.32 MiB
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <cstring> 
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN=2012;
int num[MAXN],M,N,ans;
string str; 
 
inline int getans()
{
	int res=0;
	for(int i=1;i<=N;i++)
		res=(res*26+num[i])%M;
	return res;
}

int main()
{
	freopen("patchouli.in","r",stdin); 
	freopen("patchouli.out","w",stdout);
	cin>>str>>M; N=(int)str.length();
	for(int i=0;i<N;i++)
		num[i+1]=str[i]-'A'; int t;
	ans=getans();if(ans==0) {cout<<"0 0"<<endl;return 0;}
	for(int i=1;i<=N;i++)
	{
		for(int j=i+1;j<=N;j++)
		{
			t=num[i];num[i]=num[j];num[j]=t;
			ans=getans();
			if(ans==0)
			{
				printf("%d %d\n",i,j);
				return 0;
			}
			num[j]=num[i];num[i]=t;
		}
	}
	printf("-1 -1\n");
	return 0;
}