CF1741A Compare T-Shirt Sizes 题解

该博客介绍了Codeforces CF1741A问题的解决方案,涉及比较T恤尺码的算法。题目要求根据M、S、L和X字母组合判断尺寸大小。算法主要考虑X的数量以及最后一个字母对于尺寸的影响。样例输入和输出展示了不同情况的比较结果。代码实现部分给出了C++代码,用于解决这个问题。
摘要由CSDN通过智能技术生成

题目

链接

https://www.luogu.com.cn/problem/CF1741A

字面描述

题面翻译

给定两个字符串 a a a b b b 表示两件衣服的尺码,我们规定:字符串只能由字符 M(中等尺寸)组成或由几个字符 X(可以是 0 个)加上一个字符 S(小尺寸) 或 L(大尺寸) 组成。

你需要比较两件衣服尺码大小,比较方法如下:

  • 无论前面有多少个字符 X 的小尺寸,都小于中等尺寸和大尺寸;
  • 无论前面有多少个字符 X 的大尺寸,都大于中等尺寸和小尺寸;
  • 字符 S 前的字符 X 越多,尺寸越小;
  • 字符 L 前的字符 X 越多,尺寸越大。

给定 t t t 组尺寸( 1 ≤ t ≤ 1 0 4 1 \le t \le 10^4 1t104),若第一件衣服尺寸大,输出 >,若第二件衣服尺寸大,输出 <,否则输出 =。每组数据换行隔开。

题目描述

Two T-shirt sizes are given: $ a $ and $ b $ . The T-shirt size is either a string M or a string consisting of several (possibly zero) characters X and one of the characters S or L.

For example, strings M, XXL, S, XXXXXXXS could be the size of some T-shirts. And the strings XM, LL, SX are not sizes.

The letter M stands for medium, S for small, L for large. The letter X refers to the degree of size (from eXtra). For example, XXL is extra-extra-large (bigger than XL, and smaller than XXXL).

You need to compare two given sizes of T-shirts $ a $ and $ b $ .

The T-shirts are compared as follows:

  • any small size (no matter how many letters X) is smaller than the medium size and any large size;
  • any large size (regardless of the number of letters X) is larger than the medium size and any small size;
  • the more letters X before S, the smaller the size;
  • the more letters X in front of L, the larger the size.

For example:

  • XXXS < XS
  • XXXL > XL
  • XL > M
  • XXL = XXL
  • XXXXXS < M
  • XL > XXXS

输入格式

The first line of the input contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases.

Each test case consists of one line, in which $ a $ and $ b $ T-shirt sizes are written. The lengths of the strings corresponding to the T-shirt sizes do not exceed $ 50 $ . It is guaranteed that all sizes are correct.

输出格式

For each test case, print on a separate line the result of comparing $ a $ and $ b $ T-shirt sizes (lines “<”, “>” or “=” without quotes).

样例 #1

样例输入 #1
6
XXXS XS
XXXL XL
XL M
XXL XXL
XXXXXS M
L M
样例输出 #1
<
>
>
=
<
>

代码实现

刷一道水题

#include<bits/stdc++.h>
using namespace std;

int t;
string a,b;
int main(){
	cin>>t;
	while(t--){
		cin>>a>>b;
		int lena=a.length(),lenb=b.length();
		if(a[lena-1]<b[lenb-1]){
			cout<<">"<<endl;
			continue;
		}
		else if(a[lena-1]>b[lenb-1]){
			cout<<"<"<<endl;
			continue;
		}
		else{
			if(a[lena-1]=='L'){
				if(lena>lenb)cout<<">";
				else if(lena==lenb)cout<<"=";
				else cout<<"<";
				cout<<endl;
			}
			else{
				if(lena>lenb)cout<<"<";
				else if(lena==lenb)cout<<"=";
				else cout<<">";
				cout<<endl;	
			}
		}
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

materialistOier

我只是一名ssfoier

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值