设计网站做海报,wordpress 登录背景,建站行业发展,地产网站开发1001-四舍五入_牛客竞赛语法入门班数组模拟、枚举、贪心习题 (nowcoder.com) 题目描述 四舍五入是个好东西。比如你只考了45分#xff0c;四舍五入后你是50分再四舍五入你就是满分啦#xff01;qdgg刚考完拓扑。成绩十分不理想。但老师觉得他每天都很认真的听课很不容易。于是… 1001-四舍五入_牛客竞赛语法入门班数组模拟、枚举、贪心习题 (nowcoder.com) 题目描述 四舍五入是个好东西。比如你只考了45分四舍五入后你是50分再四舍五入你就是满分啦qdgg刚考完拓扑。成绩十分不理想。但老师觉得他每天都很认真的听课很不容易。于是决定给他一个提高成绩的机会让他的成绩可以在小数点后的任意位置四舍五入也可以四舍五入为最接近的整数。 但是这是有限制的。qdgg只能四舍五入t次。请帮助qdgg找到他在不超过t次四舍五入可获得的最高成绩。请注意他可以选择不使用全部t次机会。此外他甚至可以选择完全不对成绩进行四舍五入。 在这个问题中使用经典的舍入规则将数字四舍五入到第n个数字时必须先看一下数字n 1如果小于5则第n个数字将保持不变而所有后续数字替换为0。否则如果n 1位数大于或等于5则位置n处的位数将增加1如果此位数等于9这也可能会更改其他一些位数并且随后的所有位数数字将替换为0。最后所有尾随的零将被丢弃。 例如如果将数字1.14舍入到小数点后第一位则结果为1.1而如果将1.5舍入到最接近的整数则结果为2。四舍五入到小数点后第五位的数字1.299996121将得出数字1.3。 输入描述: 输入的第一行包含两个整数n和t表示小数含小数点的长度以及四舍五入的次数。第二行为一个字符串表示qdgg的初始分数。 输出描述: 一行表示qdgg能得到的最高分数请勿输出尾零1012-方块与收纳盒_牛客竞赛语法入门班数组模拟、枚举、贪心习题 (nowcoder.com) 现在有一个大小n*1的收纳盒我们手里有无数个大小为1*1和2*1的小方块我们需要用这些方块填满收纳盒请问我们有多少种不同的方法填满这个收纳盒 输入描述: 第一行是样例数T
第2到2T-1行每行有一个整数nn80描述每个样例中的n。 输出描述: 对于每个样例输出对应的方法数 #include iostream
using namespace std;long long a[90];int main()
{a[0] 1;a[1] 1;int n;cin n;for(int i 2;i 80;i ){a[i] a[i-1] a[i-2];}while(n --){int x;cin x;cout a[x] endl;}
} 时间(time) (nowcoder.com) 题目描述 Apojacsleam是一个喜欢特殊时刻的人。 他定义了一个时刻若电子表显示ab:ba24小时制则该时刻为“回文时刻”可以有前导零。例如00:00就是回文时刻。 给定一个时刻求此时刻的上一个和下一个回文时刻。 J题附加0000就是2400没有2400这一时刻 J题附加输入可能有前导0输出不含前导0例如101的意思是1001而1010的输出为1010 输入描述: 两个正整数用“:”隔开表示小时和分钟保证输入时间合法。 输出描述: 两行两个时刻不含前导0用“:”隔开表示上一个时刻和下一个时刻 #include cstdiousing namespace std;int main() {int a, b, A, B;scanf(%d:%d, a, b);A a, B b;while (true) {b--; //找之前的时间if (b 0) //回到上个小时a--;b (b 60) % 60; //防止负数a (a 24) % 24;if (a % 10 b / 10 b % 10 a / 10) {//回文printf(%d:%d\n, a, b);break;}}while (true) {B; //找之后的时间if (B 60) //去到下个小时A;B (B 60) % 60;A (A 24) % 24;if (A % 10 B / 10 B % 10 A / 10) {printf(%d:%d\n, A, B);break;}}return 0;
} 「水」滔天巨浪 (nowcoder.com) 这个题没有要求输出前导0如果要输出前导0可以用%02d宽度为2左端补0 题目描述 帕秋莉掌握了一种水属性魔法 在此之前她已经忍了雾之湖上的妖精们很久了 现在她决定反击 雾之湖上有n只妖精排成一列每只妖精的飞行高度严格单调递增且高度1≤x≤1000 帕秋莉能清除掉列里面一个连续子区间的妖精当且仅当它们被清理之后帕秋莉仍然能还原出这个子区间的所有妖精的飞行高度 如若妖精们飞行高度为1,3,4,5,6,8那么可以清理飞行高度为4,5的两只妖精因为清理之后这两个空位之间的数据是唯一确定的 帕秋莉一次最多选择清除一个连续子区间请问帕秋莉一次最多能清除多少妖精呢 输入描述: 第一行一个整数n表示有n只妖精下一行n个数ai表示每只妖精飞行高度 输出描述: 输出一行一个整数表示答案#includeiostream
using namespace std;
const int N1010;
int a[N];
int main()
{int n,max10,b0;scanf(%d,n);for(int i1;in;i)scanf(%d,a[i]);a[n1]1001;for(int i1;in;i){int j0;while(a[i]1a[i1]a[i]-a[i-1]1)//双指针算法 { //这里要用while 而不是ifj;i;}max1max(max1,j);//取最大值}printf(%d,max1);return 0;
}
Problem - 1777A - Codeforces
cf的题就是妙有的不能按它的字面意思来写 如果这样写会爆掉
因为a[i1]*a[i]不合适
#includeiostream
using namespace std;
const long long N100010;
long long a[N];
int main(){long long t;cint;while(t--){long long n,num0;cinn;for(long long i0;in;i){cina[i];}for(long long i0;in-1;i){if(a[i]%20a[i1]%20||a[i]%21a[i1]%21){num;a[i1]*a[i];}}coutnumendl;}
} 正确解法
#includeiostream
using namespace std;
const long long N100010;
long long a[N];
int main(){long long t;cint;while(t--){long long n,num0;cinn;for(long long i0;in;i){cina[i];}for(long long i0;in-1;i){if(a[i]%20a[i1]%20||a[i]%21a[i1]%21){num;//a[i1]*a[i];}}coutnumendl;}
}
Code over!