Skip to content

Commit 66efe3d

Browse files
author
ZhiGuoLi
authored
Merge pull request #22 from zguolee/LiZhiguo
Li zhiguo
2 parents 9d2bf21 + 7d03fbf commit 66efe3d

File tree

9 files changed

+46
-174
lines changed

9 files changed

+46
-174
lines changed

第2章暴力破解/2.2模拟/3.其他模拟/2-10手机键盘.cpp

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
#include<iostream>
2-
2+
#include<string.h>
33
using namespace std;
4-
int keytab[26]= {1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4};
4+
int keytab[26]= {
5+
1,2,3,1,2,3,
6+
1,2,3,1,2,3,1,2,3,
7+
1,2,3,4,1,2,3,1,2,3,4
8+
};
59

610
int main() {
7-
char words[100]= {'\0'};
8-
while(scanf("%s",words)!=EOF) {
11+
string str;
12+
while(cin>>str) {
913
int time=0;
10-
int i=0;
11-
char temp=words[i++];
12-
while(temp!='\0') {
13-
//ÊÇ·ñÔÚÒ»¸ö°´¼üÉÏ
14-
if((words[i]-temp)==(keytab[words[i]-'a']-keytab[temp-'a'])) {
14+
char temp;
15+
for(int i=0; i<str.size(); i++) {
16+
time+=keytab[str[i]-'a'];
17+
//按键差值等于字母差值则在一个按键上
18+
if(i>0&&(str[i]-temp)==(keytab[str[i]-'a']-keytab[temp-'a'])) {
1519
time+=2;
1620
}
17-
time+=keytab[temp-'a'];
18-
temp=words[i++];
21+
temp=str[i];
1922
}
2023
printf("%d\n",time);
2124
}

第2章暴力破解/2.2模拟/3.其他模拟/2-11XXX定律.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#include<iostream>
2-
32
using namespace std;
4-
53
int main() {
64
int n;
75
while(scanf("%d",&n)!=EOF) {

第2章暴力破解/2.2模拟/3.其他模拟/2-9剩下的树.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
#include<iostream>
2-
32
using namespace std;
4-
53
const int MAXL=10001;
6-
//bool型数组模拟马路,有树false,没树true
4+
//boolÐÍÊý×éÄ£ÄâÂí·
75
bool road[MAXL];
86

97
int main() {
108
int l,m;
11-
while(scanf("%d %d",&l,&m)!=EOF) {
12-
int trees=l+1;
13-
while(m--) {
14-
int left,right;
15-
scanf("%d %d",&left,&right);
16-
for(int i=left; i<=right; ++i) {
17-
if(!road[i]) {
18-
road[i]=true;
19-
trees--;
9+
while(scanf("%d%d",&l,&m)!=EOF) {
10+
int left,right,trees=0;
11+
for(int i=0; i<=l; i++) {
12+
road[i]=true;
13+
}
14+
for(int i=0; i<m; i++) {
15+
scanf("%d%d",&left,&right);
16+
for(int j=left; j<=right; j++) {
17+
if(road[j]) {
18+
road[j]=false;
2019
}
2120
}
2221
}
22+
for(int i=0; i<=l; i++) {
23+
if(road[i]) {
24+
trees++;
25+
}
26+
}
2327
printf("%d\n",trees);
2428
}
2529
return 0;

第2章暴力破解/2.2模拟/3.其他模拟/test2-10路径打印.cpp

Lines changed: 0 additions & 62 deletions
This file was deleted.

第2章暴力破解/2.2模拟/3.其他模拟/test2-11坠落的蚂蚁.cpp

Lines changed: 0 additions & 40 deletions
This file was deleted.

第3章排序与查找/3.1排序/test3-4奥运排序问题.cpp

Lines changed: 0 additions & 26 deletions
This file was deleted.

第3章排序与查找/3.2查找/3-5查找.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
#include<iostream>
22
#include<algorithm>
3-
43
using namespace std;
5-
6-
//¶þ·Ö²éÕÒ
74
bool BinarySearch(int n,int target,int num[]) {
85
int left=0,right=n-1;
96
while(left<=right) {
107
int middle=(left+right)/2;
11-
if(num[middle]<target) {
12-
left=middle+1;
13-
} else if(num[middle]>target) {
8+
if(target==num[middle]) {
9+
return true;
10+
} else if(target<num[middle]) {
1411
right=middle-1;
1512
} else {
16-
return true;
13+
left=middle+1;
1714
}
1815
}
1916
return false;

第3章排序与查找/3.2查找/test3-5找最小数.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ struct Point {
77
};
88
const int MAXN=1001;
99
Point point[MAXN];
10-
bool mycompare(Point a,Point b){
11-
if(a.x==b.x){
10+
bool mycompare(Point a,Point b) {
11+
if(a.x==b.x) {
1212
return a.y<b.y;
13-
}else{
13+
} else {
1414
return a.x<b.x;
1515
}
1616
}
1717
int main() {
1818
int n;
19-
while(scanf("%d",&n)!=EOF){
20-
21-
for(int i=0;i<n;i++){
19+
while(scanf("%d",&n)!=EOF) {
20+
for(int i=0; i<n; i++) {
2221
scanf("%d %d",&point[i].x,&point[i].y);
2322
}
2423
sort(point,point+n,mycompare);

第3章排序与查找/3.2查找/test3-7找位置.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,20 @@ int main() {
66
string str;
77
while(cin>>str) {
88
for(int i=0; i<str.size(); i++) {
9-
bool first=false;//ÖØ¸´×Ö·ûµÄµÚÒ»´Î³öÏÖ
9+
bool isFirst=false;
10+
//Èç¹û×ÖĸÒѱéÀú
1011
if(str[i]=='*')continue;
1112
for(int j=i+1; j<str.size(); j++) {
1213
if(str[i]==str[j]) {
13-
if(!first) {
14-
printf("%c:%d",str[i],i);
15-
first=true;
14+
if(!isFirst) {
15+
printf("%c:%d",str[j],i);
16+
isFirst=true;
1617
}
1718
printf(",%c:%d",str[j],j);
18-
str[j]='*';
19+
str[j]='*';//񄱎˜
1920
}
2021
}
21-
if(first) {
22-
printf("\n");
23-
}
22+
if(isFirst)printf("\n");
2423
}
2524
}
2625
return 0;

0 commit comments

Comments
 (0)