題目:
題目大意:手機鍵盤上字母和數字是對應的,給出幾串號碼,按照首位數字公升序輸出標準格式的有重複的號碼,並輸出重複次數;若無重複輸出一行 思路:把輸入的字元轉化成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...