日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

1069. 微博转发抽奖(20)

發(fā)布時(shí)間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1069. 微博转发抽奖(20) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1069. 微博轉(zhuǎn)發(fā)抽獎(jiǎng)(20)

時(shí)間限制 400 ms
內(nèi)存限制 65536 kB
代碼長(zhǎng)度限制 8000 B
判題程序 Standard 作者 CHEN, Yue

小明PAT考了滿分,高興之余決定發(fā)起微博轉(zhuǎn)發(fā)抽獎(jiǎng)活動(dòng),從轉(zhuǎn)發(fā)的網(wǎng)友中按順序每隔N個(gè)人就發(fā)出一個(gè)紅包。請(qǐng)你編寫程序幫助他確定中獎(jiǎng)名單。

輸入格式:

輸入第一行給出三個(gè)正整數(shù)M(<= 1000)、N和S,分別是轉(zhuǎn)發(fā)的總量、小明決定的中獎(jiǎng)間隔、以及第一位中獎(jiǎng)?wù)叩男蛱?hào)(編號(hào)從1開始)。隨后M行,順序給出轉(zhuǎn)發(fā)微博的網(wǎng)友的昵稱(不超過(guò)20個(gè)字符、不包含空格回車的非空字符串)。

注意:可能有人轉(zhuǎn)發(fā)多次,但不能中獎(jiǎng)多次。所以如果處于當(dāng)前中獎(jiǎng)位置的網(wǎng)友已經(jīng)中過(guò)獎(jiǎng),則跳過(guò)他順次取下一位。

輸出格式:

按照輸入的順序輸出中獎(jiǎng)名單,每個(gè)昵稱占一行。如果沒有人中獎(jiǎng),則輸出“Keep going...”。

輸入樣例1: 9 3 2 Imgonnawin! PickMe PickMeMeMeee LookHere Imgonnawin! TryAgainAgain TryAgainAgain Imgonnawin! TryAgainAgain 輸出樣例1: PickMe Imgonnawin! TryAgainAgain 輸入樣例2: 2 3 5 Imgonnawin! PickMe 輸出樣例2: Keep going...

解析:計(jì)算機(jī)科學(xué)最重要的方法論就是分層\封裝,如計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),TCP\IP結(jié)構(gòu),這樣做了以后可以使一件非常復(fù)雜的事情變得非常的明晰,這里面揭示了一種解決問(wèn)題的方法論,就是一個(gè)問(wèn)題非常復(fù)雜,看能不能分成幾個(gè)層次或者階段,在數(shù)學(xué)中也是這樣,一個(gè)定理非常復(fù)雜(上學(xué)時(shí)我導(dǎo)師曾經(jīng)用8個(gè)課時(shí)講完一個(gè)定理),但是并不是上來(lái)就懟這個(gè)定理,而是講了將近六七個(gè)引理,然后將這些引理連到一起就成了這個(gè)定理.

本題算法很簡(jiǎn)單(人腦想象),但是實(shí)現(xiàn)起來(lái)一頭霧水,那就分成幾個(gè)階段吧:

1,從第S個(gè)開始, 每隔N個(gè)輸出名字---->不難

2,在1基礎(chǔ)上,輸出名字時(shí),順便把名字存到另外一個(gè)數(shù)組中(供查閱是否有人重復(fù)得獎(jiǎng)使用)--->簡(jiǎn)單

3,在2基礎(chǔ)上,如果有人重復(fù)得獎(jiǎng),則把這種情況除掉--->簡(jiǎn)單

4, 在3的基礎(chǔ)上增加沒有人得獎(jiǎng)這種情況-->簡(jiǎn)單



代碼如下:

/*************************************************************************> File Name: 1069.c> Author: YueBo> Mail: yuebowhu@163.com> Created Time: Tue 30 May 2017 08:00:14 AM CST************************************************************************/#include <stdio.h> #include <string.h> #include <stdlib.h>int main() {int M, N, S;char names[1000][32];char tmp[20];int i, j = 0, k;int cnt = 0;int flag, flag1 = 0;scanf("%d%d%d", &M, &N, &S);for (i = 1; i < S; i++)scanf("%s", tmp);i = 1;cnt = N - 1;while (i+S-1 <= M){scanf("%s", tmp);cnt++;if (cnt == N){flag = 0;for (k = 0; k < j; k++){if (!strcmp(names[k], tmp)){flag = 1;break;}}if (flag == 0){flag1 = 1;printf("%s\n", tmp);strcpy(names[j], tmp);j++;cnt = 0;}elsecnt = N - 1;}i++;}if (flag1 == 0)printf("Keep going...\n");return 0; }



創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的1069. 微博转发抽奖(20)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。