本文主要是介绍ACM实训冲刺第五天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第一道题
注意:tmp<='z'
#include<stdio.h>
int main(){int flag[26];for(int i=0;i<=26;i++){flag[i]=0;}char tmp;while(tmp!='}'){scanf("%c",&tmp);if(tmp=='}') break;if(tmp<='z'&&tmp>='a'){flag[tmp-'a']++;}}int cnt=0;for(int i=0;i<26;i++){if(flag[i]>0) cnt++;}printf("%d",cnt);
}
第二道题
注意:s后面要加;
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char s[100000];
int result = 0;
int sum = 0;
int main(){scanf("%s",&s);while(1){if(strlen(s)==1) break;sum=0;for(int i=0;i < strlen(s); i++){sum+=s[i]-'0';}itoa(sum ,s ,10);result++;}printf("%d",result);return 0;
}
第三道题
缺少int sum=0;
第四道题
代码练习
#include <stdio.h>
int main(){//第一行输入 两个空格分隔的整数int n,m;scanf("%d %d",&n,&m) ;//定义状态int dp[12881] ;//初始化dp[i]=0 for(int i=0;i<=m;i++){dp[i]=0;}//转移方程for(int i=1;i<=n;i++) {//注意 i=1 //定义重量和价值 两个空格分隔的整数描述魅力i: W i和D iint w,d;scanf("%d %d",&w,&d) ;for(int j=m;j>=w;j--){//注意j>=wif(dp[j-w]+d>dp[j])dp[j]=dp[j-w]+d;}}printf("%d\n",dp[m]);return 0;
}
第五道题
放弃 (考试的时候看一下)
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int N = 1000010;
int n;
struct Range
{int l, r;bool operator< (const Range& W)const{return l < W.l;}
}range[N];
int main()
{int st, ed;scanf("%d%d", &n, &ed);st = 1;for (int i = 0; i < n; i++){int l, r;scanf("%d%d", &l, &r);range[i].l = l; range[i].r = r;}sort(range, range + n);int res = 0;bool success = false;for (int i = 0; i < n; i++){int j = i, r = -2e9;while (j < n && range[j].l <= st){r = max(r, range[j].r);j++;}if (r < st){res = -1;break;}res++;if (r >= ed){success = true;break;}st = r + 1;i = j - 1;}if (!success) res = -1;printf("%d\n", res);return 0;
}
第六道题
代码练习
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;double ans=0;//半径
int n;//路灯数量
int l;//路的长度
double loc[1001];//路灯所在位置 int main(){scanf("%d %d",&n,&l);for(int i=0;i<n;i++)//路灯的位置 scanf("%lf",&loc[i]);sort(loc,loc+n) ;for(int i=0;i<n;i++)//两两比较,求路灯最大值 ans=max(ans,(loc[i]-loc[i-1])/2.0) ;if(loc[0]!=0)//起始无路灯ans=max(ans,loc[0]) ;if(loc[n-1]!=l)//终点无路灯ans=max(ans,l-loc[n-1]) ;printf("%.010lf\n",ans);return 0;
}
明天学习计划
1.第一套的第四道题和第六道题回顾一下
2.学习第二套的第一道题和第二道题
这篇关于ACM实训冲刺第五天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!