Windows 8上Java 8 Update 45中可能存在的错误
此代码获取输入图像并生成尺寸为两倍大的输出图像。内部循环中的前四行写入原稿的四个大小相同的副本,最后四行应使用输入图像的一个副本覆盖小图像,该副本的大小为原稿的两倍 该代码在Windows8上的Java8Update 45上编译和运行时没有错误。结果图像并不像预期的那样是输入的一个大副本。输出的下半部分与预期一样,但上半部分由循环中前两行写入的输入的两个原始大小的副本组成。注释掉这两行会得到最初预期的结果,因此前两行似乎是最后执行的,而不是第一行,尽管在源代码中出现在第一位 这是编译器错误、运行时的竞争条件还是代表我的大脑放屁? 如果有人要求,我会在某处举一些例子Windows 8上Java 8 Update 45中可能存在的错误,java,image,rgb,race-condition,compiler-bug,Java,Image,Rgb,Race Condition,Compiler Bug,此代码获取输入图像并生成尺寸为两倍大的输出图像。内部循环中的前四行写入原稿的四个大小相同的副本,最后四行应使用输入图像的一个副本覆盖小图像,该副本的大小为原稿的两倍 该代码在Windows8上的Java8Update 45上编译和运行时没有错误。结果图像并不像预期的那样是输入的一个大副本。输出的下半部分与预期一样,但上半部分由循环中前两行写入的输入的两个原始大小的副本组成。注释掉这两行会得到最初预期的结果,因此前两行似乎是最后执行的,而不是第一行,尽管在源代码中出现在第一位 这是编译器错误、运行
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
class HelloWorldApp {
public static void main(String[] orgs) throws IOException {
BufferedImage pic = ImageIO.read(new File("cat.jpg"));
int w=pic.getWidth(),h=pic.getHeight();
BufferedImage out = new BufferedImage(w+w,h+h,pic.getType());
for (int y=0;y<h;y++) {
for (int x=0;x<w;x++) {
int pixel = pic.getRGB(x,y);
// write four small copies
out.setRGB(x ,y ,pixel); // these two lines apparently are
out.setRGB(x+w ,y ,pixel); // executed after the remaining six
out.setRGB(x ,y+h ,pixel);
out.setRGB(x+w ,y+h ,pixel);
// overwrite with one large copy
out.setRGB(x+x ,y+y ,pixel);
out.setRGB(x+x+1,y+y ,pixel);
out.setRGB(x+x ,y+y+1,pixel);
out.setRGB(x+x+1,y+y+1,pixel);
}
}
ImageIO.write(out, "bmp", new File("./cat.bmp"));
}
}
导入java.awt.image.*;
导入java.io.*;
导入javax.imageio.*;
类HelloWorldApp{
公共静态void main(字符串[]orgs)引发IOException{
BufferedImage pic=ImageIO.read(新文件(“cat.jpg”);
int w=pic.getWidth(),h=pic.getHeight();
BuffereImage out=新的BuffereImage(w+w,h+h,pic.getType());
对于(int y=0;y我担心这是一个大脑放屁。因为你在同一个循环中做所有事情,在以后的迭代中执行最初的四行(小副本)最终会覆盖在早期迭代中最后四行(大副本)写入的像素
我不确定我的措辞是否精辟,但希望你能明白我的意思。让我们试着演示一下发生了什么。假设你的形象是:
┌───╥───┬───┐
│ ║ 0 │ 1 │
╞═══╬═══╪═══╡
│ 0 ║ A │ B │
├───╫───┼───┤
│ 1 ║ C │ D │
└───╨───┴───┘
┌───╥───┬───┐
│ ║ 0│ 1.│
╞═══╬═══╪═══╡
│ 0║ A.│ B│
├───╫───┼───┤
│ 1.║ C│ D│
└───╨───┴───┘
对于x=0,y=0,在前四行之后:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ │ A.│ │
├───╫───┼───┼───┼───┤
│ 1.║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2.║ A.│ │ A.│ │
├───╫───┼───┼───┼───┤
│ 3.║ │ │ │ │
└───╨───┴───┴───┴───┘
在最后四行之后:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ A.│ A.│ │
├───╫───┼───┼───┼───┤
│ 1.║ A.│ A.│ │ │
├───╫───┼───┼───┼───┤
│ 2.║ A.│ │ A.│ │
├───╫───┼───┼───┼───┤
│ 3.║ │ │ │ │
└───╨───┴───┴───┴───┘
对于x=1,y=0,在前四行之后:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ B│ A.│ B│
├───╫───┼───┼───┼───┤
│ 1.║ A.│ A.│ │ │
├───╫───┼───┼───┼───┤
│ 2.║ A.│ B│ A.│ B│
├───╫───┼───┼───┼───┤
│ 3.║ │ │ │ │
└───╨───┴───┴───┴───┘
在最后四行之后:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ B│ B│ B│
├───╫───┼───┼───┼───┤
│ 1.║ A.│ A.│ B│ B│
├───╫───┼───┼───┼───┤
│ 2.║ A.│ B│ A.│ B│
├───╫───┼───┼───┼───┤
│ 3.║ │ │ │ │
└───╨───┴───┴───┴───┘
对于x=0,y=1,前四行:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ B│ B│ B│
├───╫───┼───┼───┼───┤
│ 1.║ C│ A.│ C│ B│
├───╫───┼───┼───┼───┤
│ 2.║ A.│ B│ A.│ B│
├───╫───┼───┼───┼───┤
│ 3.║ C│ │ C│ │
└───╨───┴───┴───┴───┘
最后四行:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ B│ B│ B│
├───╫───┼───┼───┼───┤
│ 1.║ C│ A.│ C│ B│
├───╫───┼───┼───┼───┤
│ 2.║ C│ C│ A.│ B│
├───╫───┼───┼───┼───┤
│ 3.║ C│ C│ C│ │
└───╨───┴───┴───┴───┘
对于x=1,y=1,前四行:
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ │ │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ A │ A │ │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ │ A │ │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ │ │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ A │ A │ B │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ │ │ │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ A │ B │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ A │ C │ B │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ C │ C │ │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ A │ B │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ C │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0 │ 1 │ 2 │ 3 │
╞═══╬═══╪═══╪═══╪═══╡
│ 0 ║ A │ B │ B │ B │
├───╫───┼───┼───┼───┤
│ 1 ║ C │ D │ C │ D │
├───╫───┼───┼───┼───┤
│ 2 ║ C │ C │ D │ D │
├───╫───┼───┼───┼───┤
│ 3 ║ C │ D │ D │ D │
└───╨───┴───┴───┴───┘
┌───╥───┬───┬───┬───┐
│ ║ 0│ 1.│ 2.│ 3.│
╞═══╬═══╪═══╪═══╪═══╡
│ 0║ A.│ B│ B│ B│
├───╫───┼───┼───┼───┤
│ 1.║ C│ D│ C│ D│
├───╫───┼───┼───┼───┤
│ 2.║ C│ C│ A.│ B