博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
请让本题永远沉睡于此(东方化改题+给的标程)
阅读量:4592 次
发布时间:2019-06-09

本文共 3127 字,大约阅读时间需要 10 分钟。

先吐槽一波题目

然后再吐槽一波题目

然后再吐槽一波题目……

打住!(

下面是原题↓

原题

题目描述

公元21118年,世界变成一片废土,人们只能在绝望中残喘度过余生。

人类文明毁于一旦——原因是古老的书已无人能懂,大量知识被抛弃。

于是世界的智者们集合在一起,打算恢复知识的力量。

他们首先要振兴的,就是数学。

因为你刚刚拿了UOI(Universal Olympiad in Informatics)的AU,并且深知古

代数学那套理论,所以你作为这场大会的权威,解答大众的问题。

你要做的是,给出一个分数,求出它对 p=1e9+7 取模后的值。

输入输出格式

输入格式

第一行两个整数 a, b,为你所要求的分数 a/b 。

特别的,当你(出于各种原因)无法求解的时候,请输出“No Solution!”(不含

引号)。

输出格式

该分数对 p 取模后的值。

 

然后是改题√

题目描述

公元23333年,幻想乡变成一片废土,妖怪们只能在绝望中残喘度过余生。

幻想乡文明毁于一旦——原因是古老的书已无人能懂,大量知识被抛弃。

于是幻想乡的贤者们集合在一起,打算恢复知识的力量。

她们首先要振兴的,就是数学。

因为八云蓝刚刚拿了UOI(Universal Olympiad in Informatics)的AU,并且深知古

代数学那套理论,所以紫作为这场大会的权威,要求蓝解答大众的问题。

蓝还要帮紫准备东方华灯宴,所以把一个问题交给了你。

你要做的是,给出一个分数,求出它对 p=1e9+7 取模后的值。

输入输出格式

输入格式

第一行两个整数 a, b,为你所要求的分数 a/b 。

特别的,当你(出于各种原因)无法求解的时候,请输出“No Solution!”(不含

引号)。

输出格式

该分数对 p 取模后的值。

是不是无力吐槽了(

下边是给的标程(md这题太难了)

1 #include
2 #include
3 #include
4 using namespace std; 5 typedef long long ll; 6 const ll p=1e9+7; 7 ll qpow(ll k,ll n){ 8 if(n==0)return 1; 9 if(n==1)return k%p;10 ll h=qpow(k,n/2)%p;11 if(n%2==0)return h%p*h%p;12 return h%p*h%p*k%p;13 }14 char a[2000002],b[2000002];15 ll c[2000001],d[2000001];16 ll g[2000001],h[2000001];17 ll e1=0,e2=0;18 int s1,s2;19 bool w=1;20 inline void init(){21 scanf("%s%s",a,b);22 if(a[0]=='-'){23 s1=strlen(a)-2;24 w=1-w;25 for(int i=0;i<=s1;i++){26 c[i]=a[i+1]-'0';27 }28 }else{29 s1=strlen(a)-1;30 for(int i=0;i<=s1;i++){31 c[i]=a[i]-'0';32 }33 }34 if(b[0]=='-'){35 s2=strlen(b)-2;36 w=1-w;37 for(int i=0;i<=s2;i++){38 d[i]=b[i+1]-'0';39 }40 }else{41 s2=strlen(b)-1;42 for(int i=0;i<=s2;i++){43 d[i]=b[i]-'0';44 }45 }46 return;47 }48 int main(){49 freopen("sleep.in","r",stdin);freopen("sleep.out","w",stdout);50 init();51 if(s2==0&&d[0]==0){52 printf("No Solution!\n");53 return 0;54 }55 if(s1==0&&c[0]==0){56 printf("0\n");57 return 0;58 }59 while(e1==0&&e2==0){60 int l1=-1,l2=-1;61 for(int i=0;i<=s1;i++){62 e1*=10;63 e1+=c[i];64 if(e1>=p){65 l1++;66 g[l1]=e1/p;67 e1%=p;68 }else if(l1!=-1){69 l1++;70 g[l1]=0;71 }72 }73 for(int i=0;i<=s2;i++){74 e2*=10;75 e2+=d[i];76 if(e2>=p){77 l2++;78 h[l2]=e2/p;79 e2%=p;80 }else if(l2!=-1){81 l2++;82 h[l2]=0;83 }84 }85 s1=l1;s2=l2;86 for(int i=0;i<=s1;i++)c[i]=g[i];87 for(int i=0;i<=s2;i++)d[i]=h[i];88 }89 if(e2==0&&e1!=0){90 printf("No Solution!\n");91 return 0;92 }93 ll ans=e1%p*qpow(e2,p-2)%p;94 if(!w&&ans)putchar('-');95 printf("%lld\n",ans);96 return 0;97 }

我相信你们一定看不完,因为我就没看完

(溜

转载于:https://www.cnblogs.com/aristocrat/p/8461842.html

你可能感兴趣的文章
周总结
查看>>
作业13-网络java
查看>>
Qt加载lib文件
查看>>
element vuex 语音播报
查看>>
tomcat剖析(二)
查看>>
装机摸鱼日志--ubuntu16.04安装网易云音乐客户端
查看>>
eclipse中Android模拟器,DDMS看不到设备
查看>>
Flex 布局教程学习
查看>>
day11_rowid、rownum、表分类
查看>>
软件测试培训第4天
查看>>
Android:网络操作2.3等低版本正常,4.0(ICS)以上出错,换用AsyncTask异步线程get json...
查看>>
单次插入与批量插入时间对比
查看>>
python从excel读取的数据为数字时,自动加上.0转化为浮点型的解决
查看>>
IDEA 如何加上 tomcat
查看>>
g2o使用教程
查看>>
练习题 - 利率
查看>>
js网页特效漂亮的星级评价效果
查看>>
Java 类和方法的学习
查看>>
vim常用命令
查看>>
(转)javascript组件开发方式
查看>>