amazon 设计 10 puzzle.

class Edge {
    enum Type {
        inner, outer, flat
    }

    Piece parent;
    Type type;

    boolean fitsWith(Edge type) {
    }; // Inners & outer fit together.
}

class Piece {
    Edge left, right, top, bottom;

    // 90, 180, etc
    Orientation solvedOrientation = 90;
}

class Puzzle {
    // Remaining pieces left to put away.
    Piece[][] pieces;
    Piece[][] solution;
    Edge[] inners, outers, flats;

    // We‘re going to solve this by working our way
    // in-wards, starting with the corners.
    // This is a list of the inside edges.
    Edge[] exposed_edges;

    void sort() {

        // Iterate through all edges,
        // adding each to inners, outers, etc,
        // as appropriate.
        // Look for the corners—add those to solution.
        // Add each non-flat edge of the corner
        // to exposed_edges.

    }

    void solve() {
        for (Edge edge1 : exposed_edges) {
            // Look for a match to edge1
            if (edge1.type == Edge.Type.inner) {
                for (Edge edge2 : outers) {
                    if (edge1.fitsWith(edge2)) {
                        // We found a match!
                        // Remove edge1 from
                        // exposed_edges.
                        // Add edge2‘s piece
                        // to solution.
                        // Check which edges of edge2
                        // are exposed, and add
                        // those to exposed_edges.
                    }
                }
                // Do the same thing,
                // swapping inner & outer.
            }
        }
    }
}

amazon 设计 10 puzzle.

时间: 2024-11-05 21:55:46

amazon 设计 10 puzzle.的相关文章

amazon 设计 11 chess

1 public class ChessPieceTurn { }; 2 public class GameManager { 3 void processTurn(PlayerBase player) { }; 4 boolean acceptTurn(ChessPieceTurn turn) { return true; }; 5 Position currentPosition; 6 } 7 8 public abstract class PlayerBase { 9 public abs

amazon 设计 6 parking lot

public abstract class Vehicle { protected ParkingSpace pSpace; public abstract boolean park(ParkingLot pLot); public boolean unpark(ParkingLot pLot)P{ if(pSpace!=null){ pLot.reclaimFreeSpace(pSpace); return true; } return false; } } public class Cars

amazon.设计1. tic tac toe

//不觉中 已经全力找工作好久好久了.大概有1年半了.身心疲惫,不要放弃.曙光快来了. 1.tic tac toe //http://www.ntu.edu.sg/home/ehchua/programming/java/JavaGame_TicTacToe.html 类似相关棋牌坐标对战游戏 一通百通 /** * Enumerations for the various states of the game */ public enum GameState { // to save as "G

Google-优秀移动站点设计10招

Google-优秀移动网站设计10招 1)添加一个醒目的搜索条:在移动终端上,人们希望能够快速找到自己需要的东西 2)把大表格拆分成小块:别搞一个长长的表格页面,上面包含各种输入框 3)允许用户匿名浏览:用户感兴趣,他才会注册,甚至最好支持匿名购买 4)让用户便于回到主页:站点LOGO一定要支持回到主页功能 5)友好的表单填写:实时检查输入的合法性,而不是等到提交时才提示:日期输入请使用日历组件,而不是让用户切出来打开日历APP 6)对于复杂任务,请预留拨打电话功能:用户不想在移动端填写复杂的表

软件工程--构建之法--功能测试 设计10个或者更多的测试案例完成对钉书钉的功能测试

设计10个或者更多的测试案例完成对钉书钉的功能测试 (1)使用不同的纸质材料厚度,使用相同规格钉书钉,查看钉书器是否正常工作 (2)使用不同规格的钉书钉,使用相同厚度的纸质材料,查看钉书器是否正常工作 (3)测试钉书器在不同的使用方式下使用,查看钉书器是否异常 (4)测试钉书器总的使用次数 (5)测试钉书器订材料后,美观次数 (6)测试钉书器钉材料后,不美观次数 (7)测试钉书器在不同温度条件下,查看钉书器是否正常工作 (8)测试钉书器在不同湿度条件下,查看钉书器是否正常工作 (9)使用不同材料

amazon 设计 7 genial card game

package card; public class Game implements Runnable{ int numPlayers; int startNumber; //players and hands seperate so players can't change their cards Player player[] = new Player[numPlayers]; Hand hands[] = new Hand[numPlayers]; Card topCard; Deck d

挖掘创新!2014年APP交互设计10大趋势

在移动互联网飞速发展的这几年,每年都会有一些新鲜的设计趋势涌现出来.2014年,又有哪些新的设计趋势脱颖而出呢? 百度MUX有一群关注趋势的小伙伴,从大量的APP中去发现设计范式,挖掘设计趋势,预测出2014年在移动产品中会被广泛应用的十大交互设计趋势.希望这些新颖的设计模式,为设计师们带来创新设计灵感,进而为用户带来新鲜有趣的体验. 图00 1 转场动效的极致平滑(TRANSITION ANIMATION IS SMOOTH EXTREME) 移动APP越来越强调沉浸式的体验,页面和页面之间切

amazon 设计 13 drawboard

public class Drawboard extends JFrame{ Graphics g; public static void main(String[] args){ Drawboard d = new Drawboard(); d.showUI(); } public void showUI(){ Graphics g ; this.setTitle("画图板"); this.setSize(600,600); this.setDefaultCloseOperation

amazon 设计 5 hotel and restaurant reservation system

there I write down the restaurant system. public class TimeSpan { Date date; String start; String end; } public class Table { int tableid; String type; HashMap<Date,HashMap<String,String>> reserved; public boolean isFitToRequest(Request ts){ r