- 浏览: 68896 次
- 性别:
- 来自: 杭州
最新评论
文章列表
通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:
* Socket编程:实现PC和Emulator通讯,并进行循环监听
* Service服务:将Socket的监听程序放在Service中,从而达到后台运行的目的。这里要说明的是启动服务有两种方式,bindService和startService,两者的区别是,前者会使启动的Service随着启动Service的Activity的消亡而消亡,而startService则不会这样,除非显式调用stopService,否则一直会在后台运行因为Service需要通过一个Activ ...
IO分两种流字节流 InputStream OutputStream字符流 Reader Writer他们都是抽象类具体实现字节流 FileInputStream FileOutputStream
HDOJ 2053 Switch Game
- 博客分类:
- ACM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053
解题思路:有n 盏灯,0,1表示开关两个状态,第i次时:如果是i的倍数就改变状态,最后输出第n盏灯的状态,刚开始没弄明白题目的意思!
代码如下:
#include<stdio.h>
#define ON 1
#define OFF 0
int main()
{
int n, time, i;
while (scanf("%d",&n) != EOF)
{
time = 0;
for (i = 1; i ...
HDOJ 2052 Picture
- 博客分类:
- ACM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2052
代码如下:
#include<stdio.h>
int a[80][80];
int main()
{
int n, m, i, j;
while (scanf("%d %d",&n,&m) != EOF)
{
for (i = 0; i <= m+1; i++)
for (j = 0; j <= n+1; j++ )
a[i][j] = ' ';
a[0][0] = a[0][n+1 ...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2051
解题思路:基本的进制转换,仔细一点就不会有错的。
代码如下:
#include<stdio.h>
int main()
{
int n, bin[20], i, j;
while (scanf("%d",&n) != EOF)
{
i = 0;
while (n)
{
bin[i] = n%2;
n = n/2;
i++;
}
for (j = i-1; j >= 0; j--)
printf(&qu ...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050
解题思路:数学题啊 ,貌似没什么思路啊,杯具啊,搞了好久。这是网上的:http://blog.sina.com.cn/s/blog_76eabc150100swg8.html,这是一种方法。还有一种是:分割平面数 = 交点数+顶点数+1。若我们知道n-1条折线分割平面的最大数f(n-1),要知道f(n),只要知道最大的交点增加数,而顶点数肯定多了1个。根据以上可以推出:f(n)
= f(n-1) + 4 * (n-1) +1。
代码如下(根据第二种方法,因为这也是一道递推的题目): ...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049
解题思路:这坑爹的题目啊 搞了我那么久。思路其实早就有了。就是在错排公式的基础上,再加上一个组合数C(n,m):即在n个数中取m个数不排。
代码如下:
#include<stdio.h>
int main()
{
int c, m, n, i;
_int64 b[21] = {0,0,1}, a[21] = {1,1};
for (i = 2; i < 21; i++)
a[i] = a[i-1] * i;
for (i = 3; i < ...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047
解题思路:此题只要找到递推关系式,即可解题。
代码如下:
#include<stdio.h>
_int64 sum[41] = {0,3,8};
int main()
{
int n, i;
for(i = 3; i < 40; i++)
sum[i] = 2 * (sum[i-1] + sum[i-2]);
while(scanf("%d",&n) != EOF)
printf("%I64u\ ...
题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=11
解题思路:在做此题之前,我们先来了解一下错排公式:
当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用f(n)表示,那么f(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.
第一步,把第n个元素放在一个位置(除了第n位之外),比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况:1,把它放到位置n,那么,对于剩下的n-2个元素,就有f(n-2)种方法错排;2,不把它放到位置n,这时可以把第n个位置看成 ...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2046
编程思想:这一题和2045类似,都是利用递推的方法,只要找到那个递推关系,问题就迎刃而解。
c语言代码如下:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2045
编程思想:(这是一种递推的思想)
如果有n个方格,当对第n个方格填色时,有两种情况:
1.如果已经对前面n-1个方格填好了色,有f(n-1)种情况,此时第n-1个跟第一个颜色一定不一样,所以第n个只有一种选择。
2.如果对前面n-2个方格填好色,有f(n-2)种情况,第n-1个空格颜色跟第一个颜色一样,最后第n个方格可以填两种颜色,所以是2*f(n-2);
综上可以推出:f(n) = f(n-1) + 2*f(n-2),n>=4。
c语言代码如下:
#inclu ...
关于__int64的用法
- 博客分类:
- C/C++
资料一、
__int64是MS自创的, 要用64位int的话C中本来就自带:
#include
HDOJ 2044 一只小蜜蜂...
- 博客分类:
- ACM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044
该题目可以利用斐波那契额数组很容易就能做出来,但是要注意的是该数组的成员可能会超出int型可表示的范围,所以这里用了_int64类型。该题目和 HDOJ 2041 超级电梯类似。
#include<stdio.h>
#define MAX 50
_int64 fib[MAX];
int main()
{
int n, a, b, i, len;
fib[0] = 1;
fib[1] = 1;
for(i = 2; i< MAX; i ...
HDOJ 2037 今年暑假不AC(C语言)
- 博客分类:
- ACM
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037
题目是经典的活动安排问题,按照结束时间升序排序,尽量做结束的早的事情,以便留下更多的时间给剩下的事情,根据节目结束的时间进行排序后,可以使用逐步的贪婪算法求出最优解。
#include <stdio.h>
struct TV
{
int s,e;
}t[101],temp;
int main()
{
int n, sum, end, i, j;
while(scanf("%d",&n) && n)
...