`
文章列表
通过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 ...

HDOJ 2051 Bitset

题目链接: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的用法

资料一、 __int64是MS自创的, 要用64位int的话C中本来就自带: #include
  题目链接: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 ...
题目链接: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) ...
Global site tag (gtag.js) - Google Analytics