寒光博客

[CometOJ] #8 A 杀手皇后 签到题
https://cometoj.com/contest/58/problem/A 第一次在裙子oj同步竞赛 完成签...
扫描右侧二维码阅读全文
09
2019/08

[CometOJ] #8 A 杀手皇后 签到题

https://cometoj.com/contest/58/problem/A
第一次在裙子oj同步竞赛 完成签到题。。。 感动。

题目描述

这道题用来纪念原本的E题。

突然有人告诉小D,由于某种神秘力量的侵袭,他原本的题目不能用了。别无他法,小D只能从手中的题目里再选一道出来,但由于小D非常难过,这项任务就交给你。具体来说,每道题目有一个由小写字母组成的字符串作为名字,你需要选出一个名字的字符串字典序最小的题目作为新的题目,并输出这个字符串。

关于如何比较两个字符串的字典序,方法是這樣的:从左边第一位开始,如果两个串这一位上的字符不一样,则结束比较,这一位上字符小的串字典序更小,否则继续比较下一位。特殊的,如果比较至某一位时某个串比另一个串长度短提前结束,则长度短的串字典序更小。

输入描述

第一行输入一个正整数 nn,

接下来 nn 行,每行读入一个小写英文字母构成的字符串。

$2 \leq n \leq 10002≤n≤1000$
每個最长的字符串的长度都介於 1 和 1000 之間(包含 1 和 1000)

输出描述

输出一行,即输入字符串中字典序最小的字符串。

分析

即从左边第一位开始,如果两个串这一位上的字符不一样,则结束比较,这一 位上字符小的串字典序更小,否则继续比较下一位。特殊地,如果比较至某一 位时某个串比另一个串长度短提前结束,则长度短的串字典序更小

java

package CometOJ._8_;

import java.util.Scanner;

public class A {
    public static void main(String[] args) {
        Scanner cin =new Scanner(System.in);
        int n=cin.nextInt();
        String min=cin.next();
        String t;
        for (int i = 0; i < n-1; i++) {
            t=cin.next();
           if(min.compareTo(t)>0){
               min=t;
           }
        }
        System.out.println(min);
    }
}

c

#include <stdio.h>
#include <string.h>

int main(){
    int n,i;
    char min[1001];
    char b[1001];
    scanf("%d",&n);
    scanf("%s",min);
    for(i=0;i<n-1;i++){
          scanf("%s",b);
        if(strcmp(min,b)>0){
            strcpy(min, b);
        }
    }
    printf(min);
    return 0;
}
本文作者:Author:     文章标题:[CometOJ] #8 A 杀手皇后 签到题
本文地址:https://dxoca.cn/Algorithm/231.html       百度未收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
Last modification:August 12th, 2019 at 12:24 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment

One comment

  1. Dxoca

    是不是,,,直接读入 sort 输入 1就ok , 如果用api的话,,,