1013 C基础-求偶数和

import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int T=sc.nextInt(),sum=0;
while(T--!=0)
{
int a=sc.nextInt();
if(a%2==0) sum+=a;
}
System.out.println(sum);
} }

1014 C基础-等差数列

import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
//2+3*(n-1)=3n-1
//(3n+1)*n/2
System.out.println((3*n+1)*n/2);
} }

1015 C基础-同因查找

import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
for(int i=10;i<=1000;++i)
{
if(i%2==0 && i%3==0 && i%7==0)
System.out.println(i);
} } }

1016 Roliygu and Yilan

一道博弈题。注意到任意一个偶数边长正方形都可以被$1\times 2$的方块密铺(为什么考虑$1\times 2$?因为两方操作一定构成一个这样的方块),那么$n$为偶数,一定是先手必胜。$n$如果为奇数,那么去掉第一块剩下的能够实现密铺,最后一定是后手必胜。

//Adapted from HDU 1564
/* We can guess that R wins when n is even and Y wins when n
* is odd (simply make some examples, and you will get it).
* But why? A good explation comes from
* https://blog.csdn.net/strokess/article/details/52136677.
* Given an even n, the square shall be covered by 2*1 grids,
* which means the upper-hand player is always capable of
* moving to a 2*1 grid. Therefore, he will always win. What
* about an odd one? x^2-1, and it will be fully covered, so an
* after-hand player will win.
*/
import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
while(cin.hasNext())
{
int n=cin.nextInt();
if(n==0) break;
if(n%2==0) System.out.println("Roliygu");
else System.out.println("Yilan");
} } }

1017 平面切割(特别版)

递归思想处理。
我们考虑对n-1的情况再加一条闪电。想要新闪电带来最多的分割,那么这“三条线”必须各自穿过每一条边。这样一来,每条线都会带来$3(n-1)$的额外分割;此外,这条闪电还把公共部分隔开了。因此,需要额外再+1。
这样递推公式就得到了。


import java.util.*;
import java.io.*;
import java.math.BigInteger; public class Main
{
static long f(int x)
{
if(x==1) return 2;
else return 9*(x-1)+1+f(x-1);
}
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int T=cin.nextInt();
while(T--!=0)
{
int n=cin.nextInt();
System.out.println(f(n));
} }
}

最新文章

  1. sharepoint项目遇到的WebDAV和HTTP PUT的安全隐患解决办法
  2. OAuth介绍
  3. U-BOOT配置过程
  4. C# 中请求数据方式
  5. 试用ubuntu-12.04.3-desktop-amd64(二)
  6. 变量a的定义
  7. linux虚拟主机管理系统wdcp系列教程之三
  8. HelloGithub
  9. 【iOS】苹果,百度Map定位使用与总结
  10. 喜大本\\ u0026普,微软的开源
  11. eclipse常用快捷键(windows下)
  12. [Go] golang创建目录写文件判断文件
  13. 一、.NetCore EF 之命令行
  14. 一个加载时带动画效果的ListBoxItem
  15. MongoDB学习笔记(3)--删除数据库
  16. Codeforces 1096G. Lucky Tickets【生成函数】
  17. C#实现字符串计算
  18. UDP的优点
  19. (转载)SendKeys.Send()的使用
  20. 20155229 2016-2017-2 《Java程序设计》第二周学习总结

热门文章

  1. [18/11/20]break与continue的区别
  2. 2018.12.14 Mac的Matlab2018a软件及其安装步骤
  3. SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
  4. 轻量ORM-SqlRepoEx (五) 存储过程操作
  5. springboot+mybatisplus 测试代码生成
  6. 你不知道的javaScript笔记(7)
  7. axios基础用法
  8. php第四节(循环和函数)
  9. C++继承和派生练习(一)--关于vehicle基类
  10. 并查集(union-find sets)