Div3 cf1741
创始人
2024-01-28 14:57:01
0

Cf1741

文章目录

  • A. Compare T-Shirt Sizes
  • B. Funny Permutation(思维)
  • C. Minimize the Thickness()

A. Compare T-Shirt Sizes

题意:

第一行,输入测试样例个数n,接下来n行输入 ,输入a和b代表衣服的尺寸,输出a和b的大小关系,以下是对比原则:
S代表最小号,M代表中号,L代表大号,S和L前面可以有前置X,S前面的X越多,代表码数越小,相反L前面X越多代表尺寸越大,M前面不可以加X。另外L大于M大于S,当都为L时候,谁前面的X越多谁就越大,相反当结尾都为S,前面的X越多则尺码越小。

思路
如果根据题意描述模拟所给条件,会写出很多if…else判断,会让程序写起来特别乱,观察题意可以发现,所有情况下都可以先对比最后一位是什么,如果最后以为不相等,则直接对比最后一位的大小即可得出答案。否则,对于最后以为相同的情况下,可以分为3中情况,都为’S’,‘M’,'L’此时直接对比字符串的长度即可。
AC代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class A1741 {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws NumberFormatException, IOException {int n = Integer.parseInt(br.readLine());for(int i = 1; i <= n; i++) {String s[] = br.readLine().split(" ");String str1 = s[0];String str2 = s[1];char c1 = str1.charAt(str1.length() - 1);char c2 = str2.charAt(str2.length() - 1);if(c1 != c2) {if(c1 < c2) {System.out.println(">");}if(c1 > c2) {System.out.println("<");}}else {if(c1 == 'M') {if(str1.length() == str2.length()) {System.out.println("=");}  //当相同的部分为M时,不需要判断下面的条件也可以,因为M前面不能加X。if(str1.length() > str2.length()) {System.out.println("<");}if(str1.length() < str2.length()) {System.out.println(">");}   }if(c1 == 'S') {if(str1.length() == str2.length()) {System.out.println("=");}if(str1.length() > str2.length()) {System.out.println("<");}if(str1.length() < str2.length()) {System.out.println(">");}}if(c1 == 'L') {if(str1.length() == str2.length()) {System.out.println("=");}if(str1.length() > str2.length()) {System.out.println(">");}if(str1.length() < str2.length()) {System.out.println("<");}}}}}}

B. Funny Permutation(思维)

题意:给定长度,让输出满足以下条件的序列:

  • 对于每个元素pi,至少有一个相邻的元素的值与pi的值相差1.(+1/-1)
  • 不能存在第i个点在第i个位置。

第一行输入测试样例数,接下来每一行输入序列长度。
思路
对于序列1,2,3,4,5肯定是满足相邻元素相差1,但是不满足第i个元素等于i;
如果倒着放5,4,3,2,1满足相差1,但是中间元素不满足第i个元素不能放在i位置,因此
我们将mid到n这些数放在前面,前面的1,2,3,…mid - 1放在后面,即得到序列:
mid,mid + 1…,1,2,3,…mid - 1肯定可以同时满足所有条件。
在这里插入图片描述
AC代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class B {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws NumberFormatException, IOException {int n = Integer.parseInt(br.readLine());while((n--) > 0) {int m = Integer.parseInt(br.readLine());if(m == 3) {System.out.println(-1);continue;}int p = (m + 1) / 2;for(int i = p + 1; i <= m; i++) {System.out.print(i +" ");}for(int i = 1; i <= p; i++) {System.out.print(i +" ");}System.out.println();}}}

C. Minimize the Thickness()

题意:
思路:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;public class C {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static int []a = new int[2022];static int []sum = new int[2022];public static void main(String[] args) throws Exception {int t = Integer.parseInt(br.readLine());while((t--) > 0) {solve();}}private static void solve() throws Exception {Arrays.fill(a, 0);Arrays.fill(sum, 0);int n = Integer.parseInt(br.readLine());int maxx = n;String nums[] = br.readLine().split(" ");for(int i = 1; i <= n; i++) {a[i] = Integer.parseInt(nums[i - 1]);}for(int i = 1; i <= n; i++) {sum[i] = sum[i - 1] + a[i];
//			System.out.println(sum[i]);}int x = 0;for(int i = 1; i <= n; i++) { //枚举区间长度int j = i + 1,k = j;x = i;int cnt = 0;while(j <= n) {cnt += a[j];if(cnt > sum[i]) {break;}if(cnt == sum[i] && j != n) {cnt = 0;x = Math.max(x, j - k + 1);k = j + 1;}j++;}if(j > n) {if(cnt == sum[i]) {x = Math.max(x, j - k);maxx = Math.min(maxx, x);}}}System.out.println(maxx);}
}

相关内容

热门资讯

“国潮范”闪耀世运,巴蜀魅力璀...   蜀绣飞针,绣出芙蓉叠影  竹编经纬,勾勒山水清韵  青铜不语,叩响古蜀秘境  川剧变脸,刹那烟火...
(抗战胜利80周年)访台湾雾峰...   在台湾台中市,有一处具百余年历史的建筑群——雾峰林家宅园。这里不仅是知名望族居所,也记录着雾峰林...
赏古乐、做扎染……这个暑假沉浸...   眼下正值暑期,各地依托非遗场馆和资源,开展内容丰富的传统文化体验、普及活动,让人们在沉浸式体验中...
小“票根”如何成为激活消费的“...   原标题:小“票根”成为“金钥匙”(新视窗·新供给引领新消费新需求)  在江苏南京溧水区天生桥景区...
【世界说】美国学者:于美国35...   中国日报网8月6日电 澳大利亚“对话”新闻网(The Conversation)4日刊发文章称,...
铭记历史 缅怀先烈 | 红色底...   央视网消息:铭记历史、缅怀英烈,今天(8月6日)的《抗日根据地·今昔巨变》系列报道,我们聚焦鄂豫...
决胜“十四五” 打好收官战|路...   交通,是经济发展的强劲引擎,也是联通万家的民生通途。  “十四五”期间,我国“6轴7廊8通道”国...
丈夫因为没吃到鸡蛋不停抱怨 最...   四川一女子做了一大桌菜,丈夫因鸡蛋被侄子吃了,没吃到鸡蛋喋喋不休抱怨,最终女子崩溃掀桌。(编辑 ...
女子商场掀门帘的瞬间 小偷从背...   8月6日(发布),两女子在商场门口趁顾客掀帘子从背后2秒就偷走手机,目前失主已报案。(编辑:杨杨...
聚焦暑期安全:警惕不法分子利用...   原标题:租借学生微信号、盗取儿童电话卡、以“兼职”名义诱导拨打诈骗电话  警惕!不法分子利用中小...