戳我傳送~
給學弟學妹們小小的說了下優先佇列·· 然後 越來越覺得sort跟過載運算子的優先佇列像 然後就試了下不知道是恰好碰上的 還是 確實就是這樣 有待考證 總之ac啦~~
題目分析:首先讀入一串數字 每個5相當於乙個空格 將這串數字分割成很多很多數字 將分割後的數字排序 按照由小到大的順序輸出
做法分析:因為是一串數字 所以先想到用%s讀取一串···· 然後再對字串進行分割的處理 要注意處理前導5 因為從字串就開始的5是不能分割成任何有效數字的對吧~其次 就是 最後的5 有兩種情況 以5結尾的字串 跟 雖然已經結束輸入了但是末尾沒有5的 最開始沒有考慮這種情況 所以wa了 (真是活該啊我) 後來又參照了disucss的資料 「為什麼不直接在輸入好的字串後面加上乙個5啊」(真蠢) 然後就成功了~ 其他就沒有什麼了 恩 下面放**
優先佇列做法:
/* priority_queue */
#include
#include
#include
#include
#include
using namespace std;
char str[1010];
struct cmp
};int main(){
// freopen("in.txt","r",stdin);
while (scanf("%s",str)!=eof)
{priority_queue ,cmp> que;
int len=strlen(str);
str[len]='5';
len++;
int i;
int num=0;
int vis=0;
int beg=0;
while(str[beg]=='5')
beg++;
for (i=beg;i
然後是sort
sort
#include
#include
#include
#include
using namespace std;
char str[1050];
int data[1050];
int main(){
freopen("in.txt","r",stdin);
while (scanf("%s",str)!=eof)
{int len=strlen(str);
str[len]='5';
len++;
int i;
int num=0;
int ld=0;
int beg=0;
while (str[beg]=='5')
beg++;
for (i=beg;i
親測可ac~
所以至於到底是不是恰好碰上的···我還要繼續嘗試 _(:з」∠)_
今天本大爺也有好好守護這個世界的love & peace
杭電1106 排序
輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 你的任務是 對這些分割得到的整數,依從小到大的順序排序輸出。輸入包含多組測試用例,每組輸入資...
HDU 1106 排序(排序)
輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 你的任務是 對這些分割得到的整數,依從小到大的順序排序輸出。input輸入包含多組測試用例,...
hdu 1106 排序 解題報告
這個題目一開始以為是水題,就想著用來輕鬆輕鬆,誰知道改得我想吐!除了discuss 中的資料外,還加上這兩組,一般就能過了 001568970056 5551235555789 1 include 2 include 3 include 4 using namespace std 56 const ...