poj3543
http://poj.org/problem?id=3543
题意是给黑、白砖块的数量,组成国际象棋棋盘那样黑白相间正方形,求最大变长。
这题看了解题报告再做就没意思了,建议先自己试试,不难的:
以下剧透,慎入:
看过题目就知道是一道大水题,但Total Submissions: 2130 Accepted: 919只是个小水题,
本题的特殊情况有:
1)黑色和白色的砖的个数都为0,输出impossible
2)黑色或白色的砖的个数为1,或者两者个数都为1,输出1;
剩下的就是取a,b最小值乘以二加一再开方取整输出了,但如果a==b乘以二之后不用加一,我在这里WA了
此外,题目给1000ms,status里有不少0ms,但是java的最快6422MS,我不幸以8000+ac,同时贡献了3个wa(不够细心) 1个re(莫名其妙) 2个ce(拜默认g++所赐)
哈哈,最近状态不好,写出来发泄之!
NetBeans添加中文javadoc
首先下载中文jdk6的api:
JDK6 API 中文版 HTML 格式在线文档:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/
JDK6
API 中文版zip 格式下载: http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html_zh_CN.zip
官方下载地址可能比较慢,大家也可以试试其他下载源
然后打开在netbeans,工具->java平台->javadoc 点击“增加zip/folder”修改路径,javadoc的路径选取到api目录下,即x:/javadoc/html/zh_CN/api,后关闭退出就可以了.
ps:
1.有时候还是不能显示中文的,这样就将源里的src.zip文件移除,再添加上x:/javadoc/html/zh_CN/api路径就可以在NB中出现中文的浮动提示窗了.
2.建议设置成文件夹而不是zip压缩包,一个是为了不在NetBeans查看方便,另外目录的结构不容易出错。如果是zip压缩包,一定要注意目录结构,打开zip应该是javadoc的内容而不应该是一个文件夹,也就是说打开就应该能够看见index.html。
3.此处一定要注意,如果你设置完之后在代码里右键选择Show Javadoc或者按ALT+F1没有反应,那么极大的可能是javadoc的目录结构不正确。
【java学习笔记02】特殊的“值的传递”
(1).String
// 基本数据类型->值传递(传递值)
// 引用数据类型->引用传递(传递地址)
// 特殊的引用传递String:因为是定长字符串,所以结果同值传递
public class TestString {
static void change(String a, StringBuffer b) {
a = "改变定长";
//b.append("改变变长");
b.replace(0, b.length(), "改变变长");
System.out.println(a);
System.out.println(b);
}
public static void main(String[] args) {
String a = new String("定长");
StringBuffer b = new StringBuffer("变长");
System.out.println(a);
System.out.println(b);
change(a, b);
System.out.println(a);
System.out.println(b);
/*
运行结果
定长
变长
改变定长
改变变长
定长
改变变长
*/
}
}
(2).交换对象
public class valuePKreference {
int a, b;
static void change(valuePKreference v1, valuePKreference v2) {
v1.a++;
v2.a++;
valuePKreference v3;
v3 = v1;
v1 = v2;
v2 = v3;
System.out.println("chang里面");
System.out.println("v1.a=" + v1.a);
System.out.println("v1.b=" + v1.b);
System.out.println("v2.a=" + v2.a);
System.out.println("v2.b=" + v2.b);
System.out.println("v3.a=" + v3.a);
System.out.println("v3.b=" + v3.b);
}
public static void main(String[] args) {
valuePKreference v1 = new valuePKreference();
v1.a = 1;
v1.b = 1;
valuePKreference v2 = new valuePKreference();
v2.a = 10;
v2.b = 10;
System.out.println("chang之前");
System.out.println("v1.a=" + v1.a);
System.out.println("v1.b=" + v1.b);
System.out.println("v2.a=" + v2.a);
System.out.println("v2.b=" + v2.b);
change(v1, v2);
System.out.println("chang之后");
System.out.println("v1.a=" + v1.a);
System.out.println("v1.b=" + v1.b);
System.out.println("v2.a=" + v2.a);
System.out.println("v2.b=" + v2.b);
}
}
/*
chang之前
v1.a=1
v1.b=1
v2.a=10
v2.b=10
chang里面
v1.a=11
v1.b=10
v2.a=2
v2.b=1
v3.a=2
v3.b=1
chang之后
v1.a=2
v1.b=1
v2.a=11
v2.b=10
*/
说明:
1.引用传递,所以change后a会增加
2.交换时交换的是新建的v1,,v2,v3所以能看见值的变化,但是源数据没有变化,即只交换了新建对象的指针指向,没有交换指向的数据
【java学习笔记01】swing入门
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class swing {
public static void main(String[] args) {
JFrame frame = new JFrame("这里是标题");
frame.setTitle("设置标题");
//窗体初始位置 距左 距上 宽 高
frame.setBounds(100, 200, 900, 600);
//显示窗体
frame.setVisible(true);
//创建桌布,颜色
JPanel zhuobu = new JPanel();
//设置背景颜色
zhuobu.setBackground(Color.orange);
//关闭布局管理器(标签自动居中放置),自己决定位置
zhuobu.setLayout(null);
//把桌布放到桌子上
frame.setContentPane(zhuobu);
//插入图片对象
ImageIcon img=new ImageIcon("d:/p2.jpg");
//创建标签对象
JLabel picJLabel=new JLabel(img);
//把图片放到标签上(同构造方法)
//picJLabel.setIcon(img);
//标签位置 距窗体左 距上 宽 高
picJLabel.setBounds(100, 50, img.getIconWidth(),img.getIconHeight() );
//标签增加到桌布上
zhuobu.add(picJLabel);
//放置多个图片
ImageIcon img1=new ImageIcon("d:/p1.jpg");
JLabel[] pic=new JLabel[10];
for (int i = 0; i < pic.length; i++) {
pic[i]=new JLabel(img1);
pic[i].setBounds(i*img1.getIconWidth(), 0, img1.getIconWidth(), img1.getIconHeight());
zhuobu.add(pic[i]);
}
}
}
//f3 查看源文件
//ctrl+1 查看错误提示
//ctrl+shift+o 解决所有错误
//ctrl+o 显示文件成员(函数,变量……)
//ctrl+t 分层结构
ps:verycd旺旺老师