首页 > 代码库 > 【模拟】Codeforces 691B s-palindrome

【模拟】Codeforces 691B s-palindrome

题目链接:

  http://codeforces.com/problemset/problem/691/B

题目大意:

  求一个字符串是不是镜像的(不是回文)。是输出TAK否则RE。

题目思路:

  【模拟】

  预处理镜像的字母,注意bd pq,从头尾开始模拟。

 

 

技术分享
 1 // 2 //by coolxxx 3 //#include<bits/stdc++.h> 4 #include<iostream> 5 #include<algorithm> 6 #include<string> 7 #include<iomanip> 8 #include<map> 9 #include<stack>10 #include<queue>11 #include<set>12 #include<bitset>13 #include<memory.h>14 #include<time.h>15 #include<stdio.h>16 #include<stdlib.h>17 #include<string.h>18 //#include<stdbool.h>19 #include<math.h>20 #define min(a,b) ((a)<(b)?(a):(b))21 #define max(a,b) ((a)>(b)?(a):(b))22 #define abs(a) ((a)>0?(a):(-(a)))23 #define lowbit(a) (a&(-a))24 #define sqr(a) ((a)*(a))25 #define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))26 #define mem(a,b) memset(a,b,sizeof(a))27 #define eps (1e-8)28 #define J 1029 #define mod 100000000730 #define MAX 0x7f7f7f7f31 #define PI 3.1415926535897932332 #define N 20433 using namespace std;34 typedef long long LL;35 int cas,cass;36 int n,m,lll,ans;37 bool a[N][N];38 char s[1004];39 int main()40 {41     #ifndef ONLINE_JUDGE42 //    freopen("1.txt","r",stdin);43 //    freopen("2.txt","w",stdout);44     #endif45     int i,j,k;46 //    for(scanf("%d",&cass);cass;cass--)47 //    for(scanf("%d",&cas),cass=1;cass<=cas;cass++)48     while(~scanf("%s",s))49 //    while(~scanf("%d",&n))50     {51         a[A][A]=a[H][H]=a[I][I]=a[M][M]=a[O][O]=a[o][o]=a[T][T]=a[V][V]=a[U][U]=a[v][v]=a[W][W]=a[w][w]=a[X][X]=a[x][x]=a[Y][Y]=1;52         a[b][d]=a[d][b]=a[p][q]=a[q][p]=1;53         n=strlen(s);54         for(i=0,j=n-1;i<=j;i++,j--)55         {56             if(!a[s[i]][s[j]])break;57         }58         if(i<=j)puts("NIE");59         else puts("TAK");60     }61     return 0;62 }63 /*64 //65 66 //67 */
View Code

 

【模拟】Codeforces 691B s-palindrome