2 条题解

  • 0
    @ 2025-10-8 17:11:41
    #include<bits/stdc++.h> 
    using namespace std;
    #define For(i,n) for(int i=1;i<=n;i++)
    #define Fork(i,k,n) for(int i=k;i<=n;i++)
    #define ForkD(i,k,n) for(int i=n;i>=k;i--)
    #define Rep(i,n) for(int i=0;i<n;i++)
    #define ForD(i,n) for(int i=n;i;i--)
    #define RepD(i,n) for(int i=n;i>=0;i--)
    #define Forp(x) for(int p=pre[x];p;p=next[p])
    #define Forpiter(x) for(int &p=iter[x];p;p=next[p])  
    #define Lson (o<<1)
    #define Rson ((o<<1)+1)
    #define MEM(a) memset(a,0,sizeof(a));
    #define MEMI(a) memset(a,0x3f,sizeof(a));
    #define MEMi(a) memset(a,128,sizeof(a));
    #define MEMx(a,b) memset(a,b,sizeof(a));
    #define INF (0x3f3f3f3f)
    #define F (1000000007)
    #define pb push_back
    #define mp make_pair
    #define fi first
    #define se second
    #define vi vector<int> 
    #define pi pair<int,int>;
    #define SI(a) ((a).size())
    #define Pr(kcase,ans) printf("Case #%d: %lld\n",kcase,ans);
    #define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
    #define PRi2D(a,n,m) For(i,n) { \
                            For(j,m-1) cout<<a[i][j]<<' ';\
                            cout<<a[i][m]<<endl; \
                            } 
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define ALL(x) (x).begin(),(x).end()
    typedef long long ll;
    typedef long double ld;typedef unsigned long long ull;
    ll mul(ll a,ll b){return (a*b)%F;}
    ll add(ll a,ll b){return (a+b)%F;}
    ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
    void upd(ll &a,ll b){a=(a%F+b%F)%F;}
    inline int read()
    {
        int x=0,f=1; char ch=getchar();
        while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
        while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
    } 
    int h[10000];
    char s[100]="0A23456789TJQK";
    int a,b,c,d;
    void get(int &a) {
        char s[10];scanf("%s",s);
        a=h[s[0]];
    }
    int vs(int a,int b) { 
        if (a==b) return a;
        if (a==(1)) return 1;
        if (b==(1)) return -1;
        if (a>b) return a;
        return -b; 
    }
    int calc(int a,int b,int c,int d) {
        int p= vs(a,b);
        if (p>0) return p+vs(c,d);
        else return p-vs(d,c);
    }
    int main()
    {
    //  freopen("bzoj4801.in","r",stdin);   
    //  freopen(".out","w",stdout);
        For(i,13) h[s[i]]=i;int T=read();
        while(T--) {
            get(a),get(b);get(c);get(d);
            int c1=calc(a,c,b,d), //only 4 possibilitys
            c2=calc(a,d,b,c),
            c3=calc(b,c,a,d),
            c4=calc(b,d,a,c);
    
            cout<<max(min(c1,c2),min(c3,c4))<<endl;
    
        }
    
        return 0;
    }
    
    • 0
      @ 2025-10-8 17:11:17
      #include<bits/stdc++.h> 
      using namespace std;
      #define For(i,n) for(int i=1;i<=n;i++)
      #define Fork(i,k,n) for(int i=k;i<=n;i++)
      #define ForkD(i,k,n) for(int i=n;i>=k;i--)
      #define Rep(i,n) for(int i=0;i<n;i++)
      #define ForD(i,n) for(int i=n;i;i--)
      #define RepD(i,n) for(int i=n;i>=0;i--)
      #define Forp(x) for(int p=pre[x];p;p=next[p])
      #define Forpiter(x) for(int &p=iter[x];p;p=next[p])  
      #define Lson (o<<1)
      #define Rson ((o<<1)+1)
      #define MEM(a) memset(a,0,sizeof(a));
      #define MEMI(a) memset(a,0x3f,sizeof(a));
      #define MEMi(a) memset(a,128,sizeof(a));
      #define MEMx(a,b) memset(a,b,sizeof(a));
      #define INF (0x3f3f3f3f)
      #define F (1000000007)
      #define pb push_back
      #define mp make_pair
      #define fi first
      #define se second
      #define vi vector<int> 
      #define pi pair<int,int>
      #define SI(a) ((a).size())
      #define Pr(kcase,ans) printf("Case #%d: %lld\n",kcase,ans);
      #define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
      #define PRi2D(a,n,m) For(i,n) { \
                              For(j,m-1) cout<<a[i][j]<<' ';\
                              cout<<a[i][m]<<endl; \
                              } 
      #pragma comment(linker, "/STACK:102400000,102400000")
      #define ALL(x) (x).begin(),(x).end()
      typedef long long ll;
      typedef long double ld;
      typedef unsigned long long ull;
      ll mul(ll a,ll b){return (a*b)%F;}
      ll add(ll a,ll b){return (a+b)%F;}
      ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
      void upd(ll &a,ll b){a=(a%F+b%F)%F;}
      inline int read()
      {
          int x=0,f=1; char ch=getchar();
          while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
          while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
          return x*f;
      } 
      int h[10000];
      char s[100]="0A23456789TJQK";
      int a,b,c,d;
      void get(int &a) {
          char s[10];scanf("%s",s);
          a=h[s[0]];
      }
      int vs(int a,int b) { 
          if (a==b) return a;
          if (a==1) return 1;
          if (b==1) return -1;
          if (a>b) return a;
          return -b; 
      }
      int calc(int a,int b,int c,int d) {
          int p= vs(a,b);
          if (p>0) return p+vs(c,d);
          else return p-vs(d,c);
      }
      int main()
      {
      //  freopen("bzoj4801.in","r",stdin);   
      //  freopen(".out","w",stdout);
          For(i,13) h[s[i]]=i;
          int T=read();
          while(T--) {
              get(a),get(b);get(c);get(d);
              int c1=calc(a,c,b,d), //only 4 possibilitys
              c2=calc(a,d,b,c),
              c3=calc(b,c,a,d),
              c4=calc(b,d,a,c);
      
              cout<<max(min(c1,c2),min(c3,c4))<<endl;
      
          }
      
          return 0;
      }
      
      • 1

      信息

      ID
      6470
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      递交数
      4
      已通过
      2
      上传者