美文网首页
蓝桥杯第一次模拟

蓝桥杯第一次模拟

作者: 殇不患_531c | 来源:发表于2021-04-18 07:49 被阅读0次

成绩分析:

import java.util.Scanner;


/**
样例
7
80
92
56
74
88
99
10
 *
 */
public class Main {

    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int minn = 10010;
        int maxn = 0;
        int n = sc.nextInt();
        sc.nextLine();
        long sumn = 0;
        for(int i=0;i<n;i++) {
            int temp = sc.nextInt();
            sc.nextLine();
            minn = Math.min(minn,temp);
            maxn = Math.max(maxn,temp);
            sumn += temp;
        }
        double avgn = sumn/(double)n;
        System.out.println(maxn);
        System.out.println(minn);
        System.out.printf("%.2f",avgn);
        
    }
}

字串分值:
快速构造arraylist:new ArrayList<Integer>(Arrays.asList(i+1))
遍历set:for(char c : s)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;


//计算每个字符对结果的贡献
//贡献实际上和前后一个相同字符的位置有关
public class Main {

    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //从1开始算,这样第一个减0就是我们需要的第一个乘数
        String str = sc.nextLine();
        Set<Character> s = new HashSet<Character>();
        HashMap<Character,ArrayList<Integer>> h = new HashMap<Character,ArrayList<Integer>>();
        for(int i=0;i<str.length();i++) {
            char c = str.charAt(i);
            s.add(c);
            if(h.containsKey(c)) {
                ArrayList<Integer> temp = h.get(c);
                temp.add(i+1);
            }
            else h.put(c, new ArrayList<Integer>(Arrays.asList(i+1)));
        }
        int res = 0;
        
        for(char c : s) {
            ArrayList<Integer> temp = h.get(c);
            for(int j=0;j<temp.size();j++) {
                int a1,a2;
                if(j==0)a1 = 0;
                else a1 = temp.get(j-1);
                if(j==temp.size()-1)a2 = str.length()+1;
                else a2 = temp.get(j+1);
                int mm = (temp.get(j)-a1)*(a2-temp.get(j));
                res += mm;
            }
        }
        
        System.out.println(res);
    }
}

回文日期
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
format.setLenient(false);
format.parse(idate);

import java.text.SimpleDateFormat;
import java.util.Scanner;

public class Main {
    static boolean isDate(String idate) {
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        try {
            format.setLenient(false);
            format.parse(idate);
        }catch(Exception e) {
            return false;
        }
        return true;
    }
    
    static boolean isABAB(String idate) {
        return idate.charAt(0)==idate.charAt(2) && idate.charAt(1)==idate.charAt(3);
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        n /= 10000;
        String res1 = null;
        String res2 = null;
        for(int i=n+1;i<9999;i++) {
            StringBuilder sb = new StringBuilder(i+"");
            sb.reverse();
            String idate = i + "" + sb;
            if(res1!=null && res2!=null)break;
            if(isDate(idate)) {
                if(res1==null)res1 = idate;
                if(isABAB(idate)) {
                    res2 = idate;
                }
            }
        }
        
        System.out.println(res1);
        System.out.println(res2);
    }
}

递增序列:

public class Main {
    
    /*
VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG
SDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQF
ZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGA
BDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRL
YVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKH
ZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBU
XFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLR
ZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPG
MHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPA
VIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIF
GWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJC
EKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASK
PEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWW
CGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZP
RWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGS
PFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMR
JNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECL
YZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLP
HBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLN
DQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGF
LXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYW
CZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQ
IYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYI
ZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZB
HGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKP
FEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEAS
VJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJ
BMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSR
RRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVY
ABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX
     */
    public static void main(String[] args) {
        int a = 2;
        int b = 4;
        Scanner sc = new Scanner(System.in);
        char[][] m = new char[a][b];
        for(int i=0;i<a;i++) {
            String str = sc.nextLine();
            for(int j=0;j<b;j++) {
                char c = str.charAt(j);
                m[i][j] = c;
            }
        }
        int res = 0;
        for(int i=0;i<a;i++) {
            for(int j=0;j<b;j++) {
                for(int k=i+1;k<a;k++) {
                    if(m[i][j]<m[k][j])res++;
                }
                for(int k=j+1;k<b;k++) {
                    if(m[i][j]<m[i][k])res++;
                }
                //右下
                for(int k=1;i+k<a&&j+k<b;k++) {
                    if(m[i][j]<m[i+k][j+k])res++;
                }
                //右上
                for(int k=1;i-k>=0&&j+k<b;k++) {
                    if(m[i][j]!=m[i-k][j+k])res++;
                }
            }
        }
        System.out.println(res);
    }
}

平方拆分

public class Main {
    static int res = 0;
    
    static void f(int n,int cur) {
        cur = cur+n*n;
        //System.out.println(cur);
        if(cur>2019)return;
        if(cur==2019)res++;
        for(int i=n+1;i<50;i++) {
            f(i,cur);
        }
        
    }
    
    public static void main(String[] args) {
        for(int i=1;i<50;i++) {
            f(i,0);
        }
        System.out.println(res);
    }
}res+=(s.size()-1);

相关文章

  • 蓝桥杯第一次模拟

    成绩分析: 字串分值:快速构造arraylist:new ArrayList (Arrays.asList(i+1...

  • 双通道方波频率检测与倍频输出

    准备蓝桥杯嵌入式中,昨天与今天我写了写蓝桥杯第六届模拟题双通道方波频率检测与倍频输出(密码是5p0v),这道题目难...

  • 蓝桥杯校内模拟赛

    真的尬,2020年蓝桥杯模拟赛忘了,搞了几把lol 上个厕所,同学提醒时间不多了,唯一一道比较有意思的题目,放下思...

  • 蓝桥杯赛后感想

    作为一个大三的学生,我是第一次参加蓝桥杯,这个阶段参加蓝桥杯多少是有点晚了,说来也是惭愧,之前一直把时间花在应用开...

  • 蓝桥杯

    明天就是蓝桥杯省赛了,今天早点睡吧,没事就是一个小比赛,没什么的。大不了就去打打酱油吧。早早洗漱好,就上了床,可是...

  • 蓝桥杯

    一周前才开始意识到蓝桥杯又要来了,赶快找大佬聊聊怎么准备 “只要你掌握了最近十年的7道题以上省一几乎没问题 4-6...

  • 蓝桥杯真题题解收藏

    收藏一些在网上发现的,觉得写的不错的蓝桥杯真题题解内容,给学生练习备战蓝桥杯时所用。2020蓝桥杯省赛第二场C组_...

  • 蓝桥杯模拟赛C++初级组

    初级组 编程题第一题 编程实现: 做统计。 输入 10 个正整数,以空格分隔。依次输出其中的最大值、最小值以及平均...

  • 记一次蓝桥杯考试

    这不是一篇笔记型的文章,我只想记录一下在考蓝桥杯这件事我的心里活动。 第一次听说蓝桥杯应该是在大一吧,具体什么时候...

  • 蓝桥杯试题——FJ的字符串

    title: 蓝桥杯试题——FJ的字符串date: 2019年2月17日20:33:05tags: 蓝桥杯试题 算...

网友评论

      本文标题:蓝桥杯第一次模拟

      本文链接:https://www.haomeiwen.com/subject/hdmulltx.html