POJ1002 487 3279 字串 C語言

2022-08-30 02:03:08 字數 1542 閱讀 1113

題目:

題目大意:手機鍵盤上字母和數字是對應的,給出幾串號碼,按照首位數字公升序輸出標準格式的有重複的號碼,並輸出重複次數;若無重複輸出一行 思路:把輸入的字元轉化成7位數字,從小到大排序,找重複的數字,記錄出現次數。具體看注釋

提交情況:wa 3次, tle 4次, ac 1次

總結:一直tle,將n²的搜尋改了之後變成wa,似乎還有 no duplicates. 貌似也有最後那個小句號的問題…… 之後又一次tle , 是將字串轉換成數字的時候用了pow()。改了之後就ac了。

字串操作各種不熟練,每次換行符什麼的搞得相當糾結。這回又被同學教育了一下,要讀入字串,不要單個字元的讀入,分著讀容易出問題,讀字串不用考慮換行符空格之類的問題……

ac code :

view code

1

#include

<

stdio.h

>

2#include

<

stdlib.h

>

3#include

<

string

.h>

4#include

<

math.h

>

5#include

<

algorithm

>

6using

namespace

std;78

#define

maxn (100000 + 10)910

inta[7]

=;

//10的1~6次方

1112

//char res[maxn][15];

1314

typedef

struct

tel tels;

18tels tel[maxn];

19int

count[maxn];

20int

flag;

2122

intchange(

char

ch)

4647

void

clear()

5152

void

insert(

intn) 68}

69//

getchar();70}

71}7273

void

find(

intn)

89if

(tel[i].num

==tel[i -1

].num) 93}

94if

(flag)

//無重複

95printf(

"no duplicates.\n");

9697}98

99int

cmp(tels

&a, tels

&b)

102103

intmain()

POJ 1002 487 3279 模擬問題

簡單的模擬問題,號碼固定為7位,共n個號碼,那麼定義乙個 char str n 8 即可,先將輸入的字串根據對應關係轉換成 號碼,然後用qsort函式對其排序,對於重複次數,因此時號碼已經有序,可以定義乙個 int s n 來記錄號碼的重複次數,該陣列每位的數值對應排序後的相應位置的 號碼的重複次數...

POJ 1002 487 3279 水題字串

這幾天是g20的原因麼,hdu一直登不上去.然後vjudge也掛了 好吧,這幾天找poj從頭刷吧,第一題a b直接無視掉就好 第二個高精度的也先放一放吧 從1002開始刷起 題意很簡單,輸入一排字元,把它化成數字的形式,然後問這個 號碼出現了幾次,如果都只出現了1次就輸出no duplicates....

POJ解題報告 1002 487 3279

輸入一組 為了方便記憶存在帶有大寫字母的 號 統計重複出現的 號,標準化後按字典序輸出 號碼的可能格式如下 888 glop tut glop 967 11 11 標準 號碼例項 888 4567 3位 4位 字母和數字的對映關係如下 a,b,和c 對映到 2 d,e,和f 對映到 3 g,h,和i...