1.
單詞數
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 61340 Accepted Submission(s): 15204
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#include<sstream>
#include<cstdlib>
#include<queue>
#include<map>
using namespace std;
int main(){
string s;
map<string,int> m;
while(getline(cin,s)&&s!="#"){
int flag = 0;
string word = "";
m.clear();
int len = s.length();
for(int i =0;i<len;i++){
word.clear();
while('a' <= s[i]&&s[i] <= 'z'){
word+=s[i];
i++;
flag = 1;
}
if(flag){
m[word]++;
flag = 0;
}
}
cout<<m.size()<<endl;
}
return 0;
}
手機短號
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 35680 Accepted Submission(s): 21647
現在,如果給你一個11位長的手機號碼,你能找出對應的短號嗎?
解答:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#include<sstream>
#include<cstdlib>
#include<queue>
#include<map>
using namespace std;
int main(){
int n;
cin>>n;
string s;
for(int i =0;i<n;i++){
cin>>s;
s = s.substr(6,5);
cout<<"6"<<s<<endl;
}
return 0;
}
3.
考試排名
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17257 Accepted Submission(s): 5985
我們做好了題目的解答,提交之後,要麼“AC”,要麼錯誤,不管怎樣錯法,總是給你記上一筆,表明你曾經有過一次錯誤提交,因而當你一旦提交該題“AC”後,就要與你算一算帳了,總共該題錯誤提交了幾回。雖然你在題數上,大步地躍上了一個臺階,但是在耗時上要攤上你共花去的時間。特別是,曾經有過的錯誤提交,每次都要攤上一定的單位時間分。這樣一來,你在做出的題數上,可能領先別人很多,但是,在做出同樣題數的人羣中,你可能會在耗時上處於排名的劣勢。
例如:某次考試一共8題(A,B,C,D,E,F,G,H),每個人做的題都在對應的題號下有個數量標記,負數表示該學生在該題上有過的錯誤提交次數,但到現在還沒有AC,正數表示AC所耗的時間,如果正數a跟上一對括號,裏面有個整數b,那就表示該學生提交該題AC了,耗去了時間a,同時,曾經錯誤提交了b次,因此對於下述輸入數據:
若每次錯誤提交的罰分爲20分,則其排名從高到低應該是這樣的:
Josephus 5 376
John 4 284
Alice 4 352
Smith 3 167
Bob 2 325
Bush 0 0
解答: