关键词:
Problem B: 数组类(II)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3606 Solved: 1760
[Submit][Status][Web Board]
Description
Input
Output
Sample Input
3 10 1 2 3 4 5 6 7 8 9 0 5 1.1 2.2 3.3 4.4 5.5 20 ABCDEGHIJMNPRSTUVWXY
Sample Output
9 8 7 6 5 4 3 2 1 0 5.5 4.4 3.3 2.2 1.1 Y X W V U T S R P N
HINT
Append Code
int main() int cases, len; cin >> cases; for(int ca = 1; ca <= cases; ca++) cin >> len; if(ca % 3 == 0) Array<char> chr_arr(len); for(int i = 0; i < chr_arr.size(); i++) cin >> chr_arr[i]; chr_arr.put(10); if(ca % 3 == 1) Array<int> int_arr(len); for(int i = 0; i < int_arr.size(); i++) cin >> int_arr[i]; int_arr.put(10); if(ca % 3 == 2) Array<double> dbl_arr(len); for(int i = 0; i < dbl_arr.size(); i++) cin >> dbl_arr[i]; dbl_arr.put(10);
#include <iostream> #include <algorithm> using namespace std; template <typename T> class Array public : T *num; int len; Array(int l):len(l) num=new T[len]; int size() return len; void put(int n) sort(num, num+len); if(n<=len) for(int i=len-1; i>=len-n; i--) if(i==len-1) cout<<num[i]; else cout<<" "<<num[i]; else for(int i=len-1; i>=0; i--) if(i==len-1) cout<<num[i]; else cout<<" "<<num[i]; cout<<endl; T& operator[](int n) return num[n]; ; int main() int cases, len; cin >> cases; for(int ca = 1; ca <= cases; ca++) cin >> len; if(ca % 3 == 0) Array<char> chr_arr(len); for(int i = 0; i < chr_arr.size(); i++) cin >> chr_arr[i]; chr_arr.put(10); if(ca % 3 == 1) Array<int> int_arr(len); for(int i = 0; i < int_arr.size(); i++) cin >> int_arr[i]; int_arr.put(10); if(ca % 3 == 2) Array<double> dbl_arr(len); for(int i = 0; i < dbl_arr.size(); i++) cin >> dbl_arr[i]; dbl_arr.put(10);
problemb:平面上的点和线——point类line类(ii)
Description在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作。根据“append.cc”,完成Point类和Line类的构造方法和show()方... 查看详情
problemb:类的初体验(ii)
Description定义一个类Data,只有一个double类型的属性和如下3个方法:1. 带1个参数的构造函数——初始化属性值为参数值。2. doublegetValue()——获得属性值。3. voidshowValue()——显示属性值。Input一个double类型的数值。O... 查看详情
problemb:整型数组运算符重载
ProblemB:整型数组运算符重载TimeLimit:1Sec MemoryLimit:128MBSubmit:2871 Solved:1875[Submit][Status][WebBoard]Description定义Array类:1.拥有数据成员intlength和int*mems,分别是数组中元素的个数和元素列表。2.无参构造函数,将mems设 查看详情
problemb:时间和日期类(iii)
ProblemB:时间和日期类(III)TimeLimit: 4Sec MemoryLimit: 128MBSubmit: 2889 Solved: 1732[Submit][Status][WebBoard]Description设计一个日期时间类,用于读取输入的数据,按格式输出日期和时间。 设计日期时 查看详情
problemb:字符类的封装
Description先来个简单习题,练练手吧!现在需要你来编写一个Character类,将char这一基本数据类型进行封装。该类中需要有如下成员函数:1.无参构造函数。2.构造函数Character(char):用参数初始化数据成员。3.voidsetCharacter(char):重... 查看详情
problemb:数量的类模板
Description定义一个类模板Data,用于包装C++中的基本数据类型int和double。它包括:1.数据成员value为该对象所包装的值。2.无参构造函数(初始化value为0)和带参构造函数。3.重载的运算符:>、<、+以及<<。其中"+"返回和,... 查看详情
problemb:时间类的错误数据处理
Description封装一个时间类Time,用于时间处理的相关功能,支持以下操作:1.Time::Time()无参构造方法。2.Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象。3.Time::Time(constT&)拷贝构造方法。4.成员读函数: Time::... 查看详情
problemb:分数类的类型转换
Description封装一个分数类Fract,用来处理分数功能和运算,支持以下操作:1.构造:传入两个参数n和m,表示n/m;分数在构造时立即转化成最简分数。2.show()函数:分数输出为“a/b”或“-a/b”的形式,a、b都是无符号整数。若a为0或... 查看详情
problema:数组类(ii)
Description封装一个模板数组类,用于存储数组和处理的相关功能,支持以下操作:1.Array::Array(intl)构造方法:创建一个长度为l的组对象。2.Array::size()方法:返回Array对象中元素个数。3.Array::put(intn)方法:按从大到小的顺序输出前n... 查看详情
problemb:还会用继承吗?
ProblemB:还会用继承吗?TimeLimit:1Sec MemoryLimit:128MBSubmit:2599 Solved:1892[Submit][Status][WebBoard]Description定义一个Base类,包括1个int类型的属性,以及满足输出格式要求的构造函数、拷贝构造函数和析构函数。定义Base类的子... 查看详情
problemb:零起点学算法81——找出数组中最大元素的位置(下标值(代码片段)
#include<stdio.h>intmain(void)intn,a[10],i,max;while(scanf("%d",&n)!=EOF)for(i=0;i<n;i++)scanf("%d",&a[i]);max=0;for(i=1;i<n;i++)if(a[max]<a[i])max=i;printf("%d%d",a[max],ma 查看详情
problemb:七龙珠ii(代码片段)
Description小王去找了个算命先生算算这辈子是有钱还是没钱。他在纸上写下“性命”两个字,问哪个字重要。小王想了想说当然是命比较重要。他摇摇头:“你,没钱”“为什么?”“有钱,任性。没钱,认命。”小王问大师,... 查看详情
莫比乌斯反演个人思考——关于problemb的三种推法。
最近刷莫反题目,刷着刷着,发现problemb这道题目可以用三种方法推出来,觉得记下来以后可以方便复习,也算巩固一下。problemb这类问题是:∑i=1n∑j=1m[gcd(i,j)=d]\\sum_i=1^n\\sum_j=1^m[gcd(i,j)=d]i=1∑n... 查看详情
莫比乌斯反演个人思考——关于problemb的三种推法。
最近刷莫反题目,刷着刷着,发现problemb这道题目可以用三种方法推出来,觉得记下来以后可以方便复习,也算巩固一下。problemb这类问题是:∑i=1n∑j=1m[gcd(i,j)=d]\\sum_i=1^n\\sum_j=1^m[gcd(i,j)=d]i=1∑n... 查看详情
noip2017集训测试赛problemb:mex[补档]
Description给你一个无限长的数组,初始的时候都为0,有3种操作:操作1是把给定区间[l,r][l,r]设为1,操作2是把给定区间[l,r][l,r]设为0,操作3把给定区间[l,r][l,r]0,1反转。一共n个操作,每次操作后要输出最小位置的0。Input第一行一... 查看详情
problemb:excuses,excuses!
DescriptionJudgeItoishavingaproblemwithpeoplesubpoenaedforjurydutygivingratherlameexcusesinordertoavoidserving.Inordertoreducetheamountoftimerequiredlisteningtogoofyexcuses,JudgeItohasaskedthatyouwrit 查看详情
problemb:文件操作--文本文件读入
ProblemB:文件操作--文本文件读入TimeLimit:1Sec MemoryLimit:128MBSubmit:857 Solved:300[Submit][Status][WebBoard]Description现有100名学生的姓名(name)、学号(num)、英语(English)、数学(Math)、语文(Chinese)成绩存储在一个文本 查看详情
[haoi2011]problemb(代码片段)
[HAOI2011]Problemb给出n个询问,询问\(\sum_i=a^b\sum_j=c^d(gcd(i,j)==k)\),100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000。解法一:Mobius反演设\[b\leqd,f(k)=\sum_i=a^b\sum_j=c^d(gcd(i,j)==k)\]\[F(k)=\sum 查看详情