acm寒假集训第一讲总结
1.Long Loong
思路:
读取n,使用for循环输出n个“o”
代码:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
cout<<"L";
for(int i=0;i<n;i++)
{
cout<<"o";
}
cout<<"ng"<<endl;
return 0;
}
2.YES or YES?
思路:
读取输入的字符串并和每种可能的情况做比较
代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int n;
cin>>n;
char ch[5];
char ch1[]="YES",ch2[]="yES",ch3[]="YeS",ch4[]="YEs",ch5[]="yeS",ch6[]="yEs",ch7[]="Yes",ch8[]="yes";
for(int i=0;i<n;i++)
{
cin>>ch;
if(strcmp(ch,ch1)==0||strcmp(ch,ch2)==0||strcmp(ch,ch3)==0||strcmp(ch,ch4)==0||strcmp(ch,ch5)==0||strcmp(ch,ch6)==0||strcmp(ch,ch7)==0||strcmp(ch,ch8)==0)
{
cout<<"YES"<<endl;
}
else
{
cout<<"NO"<<endl;
}
}
return 0;
}
3.Even? Odd? G
思路:
以字符串形式读取输入的数字,取最后一位判断奇偶性即可
代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int n;
char x[65];
int len;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>x;
len=strlen(x);
if((x[len-1]-48)%2==0)
{
cout<<"even"<<endl;
}
else
{
cout<<"odd"<<endl;
}
}
return 0;
}
4.Problem Generator
思路:
读取字符串,统计每个难度共有几道题,再计算要进行m轮比赛还缺少多少道题目
代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int n,m,cnt=0;
int times[7]={0};
char ch[55];
cin>>n>>m;
cin>>ch;
for(int j=0;j<n;j++)
{
switch (ch[j])
{
case 'A':
times[0]++;
break;
case 'B':
times[1]++;
break;
case 'C':
times[2]++;
break;
case 'D':
times[3]++;
break;
case 'E':
times[4]++;
break;
case 'F':
times[5]++;
break;
case 'G':
times[6]++;
break;
default:
break;
}
}
for(int k=0;k<7;k++)
{
if(times[k]<m)
{
cnt+=(m-times[k]);
}
}
cout<<cnt<<endl;
}
return 0;
}
5.rules
思路:
先判读每一天是否超过一半人遵守规则k,再统计遵守规则k的天数是否超过一半
代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
double n,m,k;
cin>>n>>m>>k;
int cnt1=0,cnt2=0;
int x;
for(int i=0;i<m;i++)
{
cnt1=0;
for(int j=0;j<n;j++)
{
cin>>x;
if(x==k)
{
cnt1++;
}
}
if(cnt1>=n/2)
{
cnt2++;
}
}
if(cnt2>=m/2)
{
cout<<"YES";
}
else
{
cout<<"NO";
}
return 0;
}
学习总结:
通过这次的学习,我学习到了c++的基础语法和一些书写时的技巧,还学习了时间复杂度的计算方法,了解了关于STL的知识,获得了一些有效的解题思路,尽管没能完成hard等级的题目(TLE),但在讲解时了解到了更高效的代码实现方法,不需要计算每一步的变化过程,只需要计算最终结果,从而提高效率,得出答案。
浙公网安备 33010602011771号