1. 程式人生 > >【藍橋杯】【手機尾號評分】

【藍橋杯】【手機尾號評分】

題目
30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品!
給手機選個好聽又好記的號碼可能是許多人的心願。
但號源有限,只能輔以有償選號的方法了。
這個程式的目的就是:根據給定的手機尾號(4位),按照一定的規則來打分。其規則如下:
1. 如果出現連號,不管升序還是降序,都加5分。例如:5678,4321都滿足加分標準。
2. 前三個數字相同,或後三個數字相同,都加3分。例如:4888,6665,7777都滿足加分的標準。
注意:7777因為滿足這條標準兩次,所以這條規則給它加了6分。
3. 符合AABB或者ABAB模式的加1分。例如:2255,3939,7777都符合這個模式,所以都被加分。
注意:7777因為滿足這條標準兩次,所以這條標準給它加了2分。
4. 含有:6,8,9中任何一個數字,每出現一次加1分。例如4326,6875,9918都符合加分標準。其中,6875被加2分;9918被加3分。
尾號最終得分就是每條標準的加分總和!
要求程式從標準輸入接收資料,在標準輸出上輸出結果。
輸入格式為:第一行是一個整數n(<100),表示下邊有多少輸入行,接下來是n行4位一組的資料,就是等待計算加分的手機尾號。
例如,輸入:
14
3045
….
…..
6789
8866
則輸出:
0
0
….

8
5

分析
考驗耐心的題目
1、耐心的把題目讀完
2、根據每一項評分標準進行加分

原始碼

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] sa = new String[n];
        //迴圈獲取所有的手機尾號
        for (int i = 0; i < n; i++) {
            sa[i] = sc.next();
        }
        sc.close();
        for
(int i = 0; i < n; i++) { System.out.println(handlerPN(sa[i])); } } //對每一個手機尾號進行評分 private static int handlerPN(String s){ int result = 0; char[] cc = s.toCharArray(); int[] ic = new int[cc.length]; for (int i = 0; i < ic.length; i++) { ic[i] = cc[i] - '0'
; } //1、判斷是否存在連號 boolean lh = true; for (int i = 0; i < ic.length-1; i++) { if(Math.abs(ic[i+1]-ic[i]) != 1){ lh = false; break; } } if(lh){ result += 5; } //2、判斷前三後三是否相同 if((ic[0]==ic[1]&&ic[1]==ic[2])){ result += 3; } if((ic[1]==ic[2]&&ic[2]==ic[3])){ result += 3; } //3、判斷是否符合AABB或者ABAB if(ic[0]==ic[1] && ic[2]==ic[3]){ result += 1; } if(ic[0]==ic[2] && ic[1]==ic[3]){ result += 1; } //4、是否出現6、8、9的數字 for (int i = 0; i < ic.length; i++) { if(ic[i] == 6 || ic[i] ==8 || ic[i]==9){ result += 1; } } return result; }

結果
0
0
8
5

相關推薦

藍橋機尾評分

【題目】 30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品! 給手機選個好聽又好記的號碼可能是許多人的心願。

YTU OJ-1329: 機尾評分

1329: 手機尾號評分Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 204  Solved: 139[Submit][Status][Web Board]Description    30年的改革開放,給中國帶來了翻天覆地的變

煙大ACM新秀賽 E機尾評分

    30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品!     給手機選個好聽又好記的號碼可能是許多人的心願。但號源有限,只能輔以有償選號的方法了。     這個程式的目的就是:根據給定的手機尾號(4位),按照一定的規則來打分。其規

機尾評分

#include <iostream> using namespace std; int number=0; class Number { public: void setNumber(); void getScore();

YTUOJ-機尾評分

題目描述     30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品!     給手機選個好聽又好記的號碼可能是許多人的心願。

第三屆藍橋機尾

題目:手機尾號     30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品!     給手機選個好聽又好記的號碼可能是許多人的心願。但號源有限,只能輔以有償選號的方法了。     這個程式的目的就是:根據給

藍橋根據給定的機尾(4位),按照一定的規則來打分

import java.util.Scanner; /** * *30年的改革開放,給中國帶來了翻天覆地的變化。2011全年中國手機產量約為11.72億部。手機已經成為百姓的基本日用品! * *給手機選個好聽又好記的號碼可能是許多人的心願。但號源有限,只能輔以有

藍橋打印十字圖(圖形規律)

clas pan dos nbsp har name can data 圖形 題目描述 小明為某機構設計了一個十字型的徽標(並非紅十字會啊),如下所示: ..$$$$$$$$$$$$$.. ..$...........$.. $$$.$$$$$$$$$.$$$

藍橋歷屆試題 發現環

ring bool include mes 16px 技術分享 div lte HR 題目:歷屆試題 發現環 問題描述   小明的實驗室有N臺電腦,編號1~N。原本這N臺電腦之間有N-1條數據鏈接相連,恰好構成一個樹形網絡。在樹形網絡上,任意兩臺電腦之間有唯一的路徑相連。 

藍橋單片機10串行接口的進階與實戰應用

而已 也有 案例 font enter 代碼塊 通知 基本原理 init 【藍橋杯單片機10】串行接口的進階與實戰應用 廣東職業技術學院 歐浩源 串行接口作為51單片機的重要外設,編程操作並不復雜,但在實際的項目應用中,由於數據結構和通信規約的不同,其程序邏輯也

藍橋第六屆國賽C語言B組 2.完美正方形(dfs)

spa else img IT bool break main LG fill 如果一些邊長互不相同的正方形,可以恰好拼出一個更大的正方形,則稱其為完美正方形。 歷史上,人們花了很久才找到了若幹完美正方形。比如:如下邊長的22個正方形2 3 4 6 7 8 12 13 14

藍橋第六屆國賽C語言B組 1.積分之迷(水題)

水題 urn class %d names 風鈴 需要 藍橋 std 小明開了個網上商店,賣風鈴。共有3個品牌:A,B,C。為了促銷,每件商品都會返固定的積分。 小明開業第一天收到了三筆訂單:第一筆:3個A + 7個B + 1個C,共返積分:315第二筆:4個A + 10個

藍橋第七屆國賽C語言B組 2.湊平方數(dfs+STL)

ble 一個 所有 mes char next memset target article 把0~9這10個數字,分成多個組,每個組恰好是一個平方數,這是能夠辦到的。比如:0, 36, 5948721 再比如:10985247361, 25, 63907840, 4, 28

藍橋基礎練習 矩形面積交

問題描述   平面上有兩個矩形,它們的邊平行於直角座標系的X軸或Y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。 輸入格式   輸入僅包含兩行,每行描述一個矩形。   在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值

藍橋-Minesweeper

解題思路:題目大意是說找‘.’ 的周圍有多少個‘*’這個周圍是八個方向。 可以給輸入的資料加上外圍。 #include<iostream>#include<algorithm>#include<cstring>using namespace &nbs

藍橋基礎訓練 完美的代價

問題描述   迴文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為迴文串才是完美的。現在給你一個串,它不一定是迴文的,請你計算最少的交換次數使得該串變成一個完美的迴文串。   交換的定義是:交換兩個相鄰的字元   例如mamad   第一次交換 ad : m

藍橋練習-第五屆2014-省賽-C語言大學A組

1.猜年齡     小明帶兩個妹妹參加元宵燈會。別人問她們多大了,她們調皮地說:“我們倆的年齡之積是年齡之和的6倍”。小明又補充說:“她們可不是雙胞胎,年齡差肯定也不超過8歲啊。”     請你寫出:小明的較小的妹妹的年齡。 (10) #include <

藍橋運動員分組

運動員分組:     有N個人參加100米短跑比賽。跑道為8條,因此每組人數最多為8。     程式的任務是按照儘量使每組的人數相差最少的原則分組。例如:     N=8時,分成1組即可。     N=

藍橋練習基礎訓練1-數列排序

#include<bits/stdc++.h> using namespace std; int main(){ int n ; cin>>n; int a[n]; for (int i = 0; i < n; i ++) cin&

藍橋2018.B組.Java.第二題

標題:方格計數 如圖p1.png所示,在二維平面上有無數個1x1的小方格。 我們以某個小方格的一個頂點為圓心畫一個半徑為1000的圓。 你能計算出這個圓裡有多少個完整的小方格嗎? 注意:需要提交的是一個整數,不要填寫任何多餘內容。 題解 以圓心為原點,建立