zoukankan      html  css  js  c++  java
  • http://codeforces.com/gym/100623/attachments E题

    http://codeforces.com/gym/100623/attachments E题
    第一个优化
    它虽然是镜像对称,但它毕竟是一一对称的,所以可以匹配串和模式串都从头到尾颠倒一下
    第二个优化,与次数无关,所以排个序就完事了

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<queue>
     4 #include<algorithm>
     5 #include<cmath>
     6 #include<ctime>
     7 #include<set>
     8 #include<map>
     9 #include<stack>
    10 #include<cstring>
    11 #define inf 2147483647
    12 #define ls rt<<1
    13 #define rs rt<<1|1
    14 #define lson ls,nl,mid,l,r
    15 #define rson rs,mid+1,nr,l,r
    16 #define N 100010
    17 #define For(i,a,b) for(int i=a;i<=b;i++)
    18 #define p(a) putchar(a)
    19 #define g() getchar()
    20 
    21 using namespace std;
    22 int n;
    23 char a[110],b[110],c[110],d[110];
    24 
    25 struct node{
    26     int f;
    27     int s;
    28     bool operator < (const node & temp)const{
    29         if(f==temp.f)
    30             return s<temp.s;
    31         return f<temp.f;
    32     }
    33 }a1[110],a2[110];
    34 
    35 void in(int &x){
    36     int y=1;
    37     char c=g();x=0;
    38     while(c<'0'||c>'9'){
    39         if(c=='-')y=-1;
    40         c=g();
    41     }
    42     while(c<='9'&&c>='0'){
    43         x=(x<<1)+(x<<3)+c-'0';c=g();
    44     }
    45     x*=y;
    46 }
    47 void o(int x){
    48     if(x<0){
    49         p('-');
    50         x=-x;
    51     }
    52     if(x>9)o(x/10);
    53     p(x%10+'0');
    54 }
    55 int main(){
    56     freopen("enchanted.in","r",stdin);
    57     freopen("enchanted.out","w",stdout);
    58     cin>>(a+1)>>(b+1)>>(c+1)>>(d+1);
    59     n=strlen(a+1);
    60     For(i,1,n){
    61         a1[i].f=a[i]-'A'+1;
    62         a1[i].s=b[n-i+1]-'A'+1;
    63     }
    64     For(i,1,n){
    65         a2[i].f=c[i]-'A'+1;
    66         a2[i].s=d[n-i+1]-'A'+1;
    67     }
    68     sort(a1+1,a1+n+1);
    69     sort(a2+1,a2+n+1);
    70     For(i,1,n)
    71         if(a1[i].f!=a2[i].f||a1[i].s!=a2[i].s){
    72             cout<<"No";
    73             return 0;
    74         }
    75     cout<<"Yes";
    76     return 0;
    77 }
    View Code
  • 相关阅读:
    【算法总结】哈夫曼树
    堆栈入门-简单计算器
    堆栈入门-括号匹配问题
    Linux下使用vim命令编辑与修改文本内容
    Ubuntu查看与结束任务进程
    Mac OS X开发者准备工作
    Mac OS X平台上Java环境的配置
    OS X平台上MySQL环境搭建
    2015 Python News
    2015 Open Source News
  • 原文地址:https://www.cnblogs.com/war1111/p/10798110.html
Copyright © 2011-2022 走看看