8-15-Exercise
这次的题目......只觉得泪奔啊......T T
A.HDU 1042 N!
因为0<=n<=1000,故一定要用数组或字符串【同样因为n<=1000故用数组就够了~~~】。
代码:
- #include <iostream>
- #include <cstdio>
- using namespace std;
- int a[];
- int main()
- {
- int n,i,j;
- while(~scanf("%d",&n))
- {
- if(n== || n==){printf("1\n"); continue;}
- a[]=; //用来记录数字的位数
- a[]=;
- for(i=;i<=n;i++)
- {
- int sum=;
- for(j=;j<=a[];j++)
- {
- int temp=a[j]*i+sum;
- sum=temp/;
- a[j]=temp%;
- }
- while(sum)
- {
- a[j]=sum%;
- a[]=j;
- sum/=;
- j++;
- }
- }
- for(i=a[];i>=;i--)
- printf("%d",a[i]);
- printf("\n");
- }
- return ;
- }
//memory:372KB time:1546ms
B.HDU 1050 Moving Tables
下面是网上的代码,我做这道题时,自己的思路与下面代码的思路略有不同......我是把区间从大到小排了后再找同一时间能作业的区间,看要找几次;而网上的代码的思路则是找重叠区域,看重叠的次数。其实,实质上,我的“找的次数”与网上的“重叠次数”都是相同的,但不知道为什么WA,但测试了好几组数据都是对的......
我的代码如下【还望高手不吝赐教】:
- #include <iostream>
- #include <cstdio>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- class N
- {
- public:
- int x,y,id;
- }a[];
- bool comp(N w,N q)
- {
- return w.x<q.x;
- }
- int main()
- {
- int t,n,i,j;
- scanf("%d",&t);
- while(t--)
- {
- memset(a,,sizeof(a));
- scanf("%d",&n);
- for(i=;i<n;i++)
- {
- int x,y;
- scanf("%d%d",&x,&y);
- if(x<y)
- {a[i].x=x;a[i].y=y;}
- else
- {a[i].x=y;a[i].y=x;}
- }
- sort(a,a+n,comp);
- int sum=;
- for(i=;i<n;i++)
- if(a[i].id==)
- {
- a[i].id=;
- int minn=a[i].y;
- for(j=i+;j<n;j++)
- if(a[j].id== && a[j].x>minn)
- {
- a[j].id=;
- minn=a[j].y;
- }
- sum++;
- }
- printf("%d\n",sum*);
- }
- return ;
- }
网上的AC代码:
- #include <iostream>
- #include <algorithm>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- #define maxn 460
- int main()
- {
- int t,i,n,b,e;
- scanf("%d",&t);
- while (t--)
- {
- int c[]={},m=;
- scanf("%d",&n);
- while (n--)
- {
- scanf("%d%d",&b,&e);
- if (b>e)
- {
- i=b;
- b=e;
- e=i;
- }
- for (i=(b-)/;i<=(e-)/;++i)
- ++c[i];
- }
- for (i=;i<;++i)
- if (m<c[i])m=c[i];
- printf("%d\n",*m);
- }
- return ;
- }
//memory:228KB time:0ms
C.HDU 1181 变形课
题意:就是在一堆的字符串中看“b”是否能转换成“m”。【转换关系:每一个字符串的首字母可以变为尾字母】
BFS~
- #include <iostream>
- #include <cstdio>
- #include <queue>
- #include <cstring>
- using namespace std;
- const int inf=<<;
- bool vis[];
- int a[][];
- char c[];
- void bfs()
- {
- int q1=,q2,i;
- queue<int> q;
- memset(vis,,sizeof(vis));
- q.push(q1);
- vis[q1]=;
- while(!q.empty())
- {
- q2=q.front();
- q.pop();
- for(i=;i<;i++) //i代表的是字母【example:i=0,代表A】
- if(!vis[i] && a[q2][i]==)
- {
- if(i=='m'-'a')
- {
- puts("Yes.");
- return;
- }
- q.push(i);
- vis[i]=;
- }
- }
- puts("No.");
- return;
- }
- int main()
- {
- int t,n,i,j,len;
- memset(a,,sizeof(a));
- while(~scanf("%s",c))
- {
- len=strlen(c);
- a[c[]-'a'][c[len-]-'a']=; //建立字母转换的图
- if(c[]=='')
- {
- bfs();
- memset(a,,sizeof(a));
- }
- }
- return ;
- }
//memory:268KB time:0ms
D.HDU 3501 Calculation 2
是考欧拉函数~
来源:http://gzhu-101majia.iteye.com/blog/1296950
代码:
- #include <iostream>
- #include <cstdio>
- using namespace std;
- #define M 1000000007
- int eular(__int64 n) //欧拉函数
- {
- int i,ans=n;
- for(i=;i*i<=n;i++)
- if(n%i==)
- {
- ans-=ans/i;
- while(n%i==)
- n/=i;
- }
- if(n>) ans-=ans/n;
- return ans;
- }
- int main()
- {
- __int64 n,ans;
- while(scanf("%I64d",&n),n)
- {
- ans=n*(n+)/-n;
- ans-=eular(n)*n/;
- ans%=M;
- printf("%I64d\n",ans);
- }
- return ;
- }
//memory:228KB time:15ms
E.HDU 2601 An easy problem
i*i+i+j=n可以写成:(i+1)*(j+1)=n-1
式子改成了上面这个模样......答案就华华丽丽的出来了~~╮(╯▽╰)╭
代码:
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- int t;
- scanf("%d",&t);
- while(t--)
- {
- __int64 n;
- scanf("%I64d",&n);
- n++;
- __int64 i;
- __int64 sum=;
- for(i=;i*i<=n;i++)
- if(n%i==)
- sum++;
- printf("%I64d\n",sum);
- }
- return ;
- }
//memory:228KB time:2000ms
8-15-Exercise的更多相关文章
- C - The C Answer (2nd Edition) - Exercise 1-5
/* Modify the temperature conversion program to print the table in reverse order, that is, from 300 ...
- MIT 6.828 JOS学习笔记5. Exercise 1.3
Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...
- Think Python - Chapter 15 - Classes and objects
15.1 User-defined typesWe have used many of Python’s built-in types; now we are going to define a ne ...
- 《how to design programs》15章 相互引用的数据定义
由结构体组成的表与结构体中的表. 在用追溯形式建立家家谱树时,我们通常从某个后代除法,依次处理它的父母,组父母等.而构建树时,我们会不断添加谁是谁的孩子,而不是写出谁是谁的父母,从而建立一颗后代家谱树 ...
- CMSC 216 Exercise #5
CMSC 216 Exercise #5 Spring 2019Shell Jr (”Shellito”) Due: Tue Apr 23, 2019, 11:30PM1 ObjectivesTo p ...
- 软件测试:3.Exercise Section 2.3
软件测试:3.Exercise Section 2.3 /************************************************************ * Finds an ...
- (14)Why some people find exercise harder than others
https://www.ted.com/talks/emily_balcetis_why_some_people_find_exercise_harder_than_others/transcript ...
- 【DeepLearning】Exercise:Self-Taught Learning
Exercise:Self-Taught Learning 习题链接:Exercise:Self-Taught Learning feedForwardAutoencoder.m function [ ...
- TEXT 15 A text a day...
TEXT 15 A text a day... Mar 24th 2006 From The Economist print edition The medical uses of mobile ph ...
- 18 A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练
A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练 25 May 2011 Introduction At the Googl ...
随机推荐
- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试][关于电梯调度算法的附加思考]:刘耀先-11061183,罗凡-11061174
本文为对于电梯调度算法的三个附加题思考 1.改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享. <1>进一步提高API定义 ...
- 服务器环境搭建系列(一)-Apache篇
一.Apache 1.解压缩tar包httpd-2.2.22.tar.gz,这里默认放在/opt下 tar -zxvf httpd-2.2.22.tar.gz 2.进入解压缩后的文件夹 cd http ...
- writeToFile 读写文件问题
关于 writeToFile 读写文件:当字典中键值对以 Model(例如:studentModel)为值时发现 Dictionary 调用 writeToFile 方法无法生成 plist 文件,经 ...
- POJ1177+线段树+扫描线
思路: 以y的值进行离散化 根据x的值 对每一条y轴边进行处理,如果是"左边"则插入,是"右边"则删除. /* 扫描线+线段树+离散化 求多个矩形的周长 */ ...
- SQL跨表更新
[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/4384039.html] 前提:两张表要更新的字段.关联字段结构一致 更新库:FJPDI_TZ ...
- DHTMLX 前端框架 建立你的一个应用程序 教程(五)--添加一个表格Grid
表格例子 样本如下: 我们这篇介绍的是dhtmlxGrid 组件. 它支持4种数据格式:XML, JSON, CSV, JSArray. 添加表格到布局的单元格中去: 1.使用attachGrid( ...
- *[topcoder]LittleElephantAndBalls
http://community.topcoder.com/stat?c=problem_statement&pm=12758&rd=15704 topcoder的题经常需要找规律,而 ...
- phpexcelreader超级简单使用
phpexcelreader超级简单使用 该php类可以到官网下载:http://www.codeplex.com/PHPExcel,下载的文件不能直接使用要看下面的备注. 备注: 1.要将olere ...
- redis消息队列
http://blog.csdn.net/21aspnet/article/details/7455032
- OpenSSL 拒绝服务漏洞
漏洞名称: OpenSSL 拒绝服务漏洞 CNNVD编号: CNNVD-201312-058 发布时间: 2013-12-05 更新时间: 2013-12-05 危害等级: 漏洞类型: 威胁 ...