2 条题解
-
0
#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
#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
- 上传者