8-15-小练

这次的题目......只觉得泪奔啊......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的更多相关文章

  1. 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 ...

  2. MIT 6.828 JOS学习笔记5. Exercise 1.3

    Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...

  3. 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 ...

  4. 《how to design programs》15章 相互引用的数据定义

    由结构体组成的表与结构体中的表. 在用追溯形式建立家家谱树时,我们通常从某个后代除法,依次处理它的父母,组父母等.而构建树时,我们会不断添加谁是谁的孩子,而不是写出谁是谁的父母,从而建立一颗后代家谱树 ...

  5. CMSC 216 Exercise #5

    CMSC 216 Exercise #5 Spring 2019Shell Jr (”Shellito”) Due: Tue Apr 23, 2019, 11:30PM1 ObjectivesTo p ...

  6. 软件测试:3.Exercise Section 2.3

    软件测试:3.Exercise Section 2.3 /************************************************************ * Finds an ...

  7. (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 ...

  8. 【DeepLearning】Exercise:Self-Taught Learning

    Exercise:Self-Taught Learning 习题链接:Exercise:Self-Taught Learning feedForwardAutoencoder.m function [ ...

  9. 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 ...

  10. 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 ...

随机推荐

  1. <三> SQL杂七杂八

    批量插入测试数据 use Testdeclare @count INTset @count = 0while(@count < 10)begin waitfor delay '000:00:10 ...

  2. swift-UILabel

    // Mark: 2. 创建label private func creatLabel(title: NSString)->UILabel{ /// 创建label let titleL = U ...

  3. 关于移动端和PC端的交互的区别

    对于现在的移动端设备的普及,移动端上的用户体验成了一个重要的关注点. 看了一些网上的关于移动端的交互和用户体验的知识,这里总结了一些.若有不足的地方,希望大家能够积极补充. PC端和移动端的产品的设计 ...

  4. sjtu1586 Dog

    Description 隔壁村的阿黑的Dog没有跑, 但Dog已经15岁了, 相当于人类达到了79岁. 为了防止Dog患上犬类认知障碍 (Canine cognitive dysfunction, C ...

  5. MD5算法步骤详解

    转自MD5算法步骤详解 之前要写一个MD5程序,但是从网络上看到的资料基本上一样,只是讲了一个大概.经过我自己的实践,我决定写一个心得,给需要实现MD5,但又不要求很高深的编程知识的童鞋参考.不多说了 ...

  6. Django里,如何更改ADMIN管理后台的显示

    今天在慢慢完善管理后台的一些体验, 第一是要扩展默认显示类,就是现在弄的. 第二是要让一些显示框更自然友好,这是下一次要作的. 在各个app的admin.py里,加入相关的MIXIN类 class S ...

  7. 增加Android可用内存

    In the development of TV applications, especially when dealing with images were more likely to feel ...

  8. Cassandra命令行CLI的基本使用

    启动cassandra-cli服务之后,可以进行CQL的使用. 1. 创建keyspace 可以理解成关系数据库的database [default@testkeyspace] create keys ...

  9. asp.net中时间差的问题

    asp.net中时间差的问题 在asp中我们可以用datediff来处理,时间的差,相当的不错,可是在asp.net中C#语言中却没有.可是ASP.net给我们提供了一个TimeSpan,我们可以用它 ...

  10. *[topcoder]HexagonalBoard

    http://community.topcoder.com/stat?c=problem_statement&pm=12784 真心觉得tc的div1 250不少好题,对我来说比较适合.这道题 ...