501大事件
2023信息与未来题目
A 队列
有x个人,要排队,排成n队,每队m人
如果n>=2&&m>=5,那么有多少种方法?(输入x)
B 重组
一个四位数abcd,把abcd重新排列成两个两位数(可以有前导0),问:怎样的和最小?(输入abcd)
C Chat
有两个字符串a和b,问:他们两个中交集/并集是多少?(保留两位小数)(输入A,B)
D 闯关游戏
有n个人围成了圈,都有一张拼图,从1开始拼,再往后数k个人(第k轮),再拼。
如果那人没有拼图了,就往后数(+1)(k也要++),直到第一个有拼图的人。
问:最后一个拼拼图的人是谁?(输入n)
E 拍照
有n个人,找k个人一组拍照,问:有多少种拍法?(输入n,k)
F 拔河
有t组测试样例;
有n个人,体重分别为a[i],分成两组(人数可以不同),问:怎样分差最小?(输入t,n,a[i])**
五一期间挑战AC500题
xushuoxin
胥硕鑫,1982年8月21日出生于黑龙江省哈尔滨市 ——《百度百科》
Python无视高精度!(☆-v-)
!!!!!!!!!!!!!!!!!!!
滑稽的Joker也会发题解了
#include
using namespace std;
struct bignum{
int d[2000];
void read(){
char s[2005];
scanf("%s",s);
int n=strlen(s);
for(int i=0;i0&&!d[pos])
pos--;
for(int i=pos;i>=0;i--)
cout<(bignum x){
for(int i=1999;i>=0;i--)
if(d[i]!=x.d[i])
return d[i]>x.d[i];
return 0;
}
bignum operator-(bignum x){
bignum tmp;
for (int i=0;i<200;i++) tmp.d[i]=d[i]-x.d[i];
for (int i=0;i<200;i++){
if (tmp.d[i]<0){
tmp.d[i]+=10;
tmp.d[i+1]--;
}
}
return tmp;
}
bignum operator/(bignum x){
bignum tmp,a,b;
tmp.init();
for (int i=0;i<200;i++) a.d[i]=d[i];
for (int i=99;i>=0;i--){
b.init();
for (int j=0;j<100;j++)
b.d[j+i]=x.d[j];
while (a>b){
a=a-b;
tmp.d[i]++;
}
}
return tmp;
}
};
int main(){
bignum A,B,C,D;
A.read();
for(int i=0;i<2000;i++)
B.d[i]=0;
B.d[0]=1;
for(int i=0;i<2000;i++)
C.d[i]=0;
C.d[0]=2;
int sum=1;
do{
B=B*2;
}while(!(B*2>A));
B.print();
return 0;
}