Codeforces Round #291 (Div. 2)

A

题意:给出变换规则,单个数字t可以变成9-t,然后给出一个数,问最小能够变成多少。

自己做的时候理解成了不能输出前导0,但是题目的本意是不能有前导0(即最高位不能是0,其余位数按照规则就好) 555555---读题仔细o(╯□╰)o

 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring>  
 4 #include<algorithm>  
 5 using namespace std;
 6 char s[100];
 7 int main()

 8 {
 9     int len,i;
10     scanf("%s",s);
11     len=strlen(s);
12     for(i=1;i<len;i++)
13     {
14         if(s[i]>'4') s[i]='0'+'9'-s[i];
15     }
16     if(s[0]=='9') s[0]='9';
17     else
18     {
19         if(s[0]>'4') s[0]='0'+'9'-s[0];
20     }
21     puts(s);
22 }
View Code

B

题意:给出n个坐标,以及一个起始的坐标,问能够构成多少条斜率不同的直线

自己做的时候没有把斜率不存在的情况考虑进去,而且最后找出有多少条斜率不同的直线也没有写对-----

最后看的题解,学习了map函数===就好写了----

 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring>  
 4 #include<algorithm>  
 5 #include<map>
 6 using namespace std;
 7 map<double,int>key;
 8 int main()
 9 {
10     int n,flag=0;
11     double a,b,x,y,m;
12     cin>>n>>x>>y;
13     for(int i=0;i<n;i++)
14     {
15         cin>>a>>b;
16         if(a==x) flag=1;//分母为0即斜率不存在的时候单独考虑
17         else key[(y-b)/(x-a)]=1;                
18     }
19     printf("%d
",key.size()+flag);
20 }
View Code

C

题意:先给出n个字符串,再给出n个串查询,问是否存在只有一个位置的字母不同其余的都相同的字符串

还是不会====字典树======挖坑====

原文地址:https://www.cnblogs.com/wuyuewoniu/p/4295570.html