趙艷敏高級講師
從事設計行業(yè)多年,有著豐富的設計和動畫制作經驗。曾參與中國電信天翼 手機網及天翼手機DIY等多個項目的設計,動畫,及As開發(fā)。項目經驗豐富。曾在卡酷動畫衛(wèi)視下屬公司擔任高級動畫師一職,參與多部動畫片的制作 。對動畫也有較高的造詣。
精通Flash、After Effects、Photoshop、Illustrator、ActionScript 2.0/3.0、Edius、CoolEdit、Axure RP、DIV CSS等相關技術。
講課有自己的風格,思維活躍,條理清晰講課注重細節(jié),由簡入繁。本著以 學生學會為目的,更注重理論與實踐相結合。
學習Java編程需要參加Java培訓嗎?
隨著社會信息的發(fā)展,Java技術已經無處不在,無論是手機軟件、手機Java 游戲還是電腦軟件等,只要你使用到電子產品就會碰到和Java有關的東西,更多的企業(yè)正采用Java語言開發(fā)網站,而在所有程序員中,Java開發(fā)工程師 就占據20%的比例。所以,現在依然有很多人選擇學習Java語言。
學Java參加Java培訓很有必要嗎?很有必要,理由如下:
當下選擇自學Java的朋友,大部分都會考慮網上查找Java入門視頻跟著學習 ,網上的Java入門視頻質量有沒有保障呢?首先數量多,你該怎么選擇好的Java入門視頻資料呢?哪些Java入門視頻資料中包含著已經淘汰的Java技術 ,你可以區(qū)分出來嗎?
當然,如果你只是想先了解下Java編程,學一些基礎的皮毛,那么Java基礎 教程還是可以滿足你的需求。但Java培訓小編提醒你,真想學習Java基礎教程就該找全套的教學視頻,零零湊湊的建議你還不如不學。推薦**網的全套 免費Java教學視頻針對零基礎,想要入門的同學十分的靠譜,簡單易懂。
自學Java首先Java學習資料的選擇就是個相當大的問題,拋去這個問題。自 學Java沒有專業(yè)Java老師在旁輔導,那么你勢必要花出更多的時間和精力學Java,你口上說著計劃每天花八個小時學Java,你真的能夠做到嗎?自學 Java,**怕自欺欺人,語言上的巨人行動上的矮子。
Java編程語言概述
Java編程語言概述
1.Java編程語言發(fā)展簡史
2.Java編程語言主要特征
3.Java技術體系平臺
4.Java核心機制與JVM運行原理
5.搭建 Java開發(fā)環(huán)境
6.JDK 的安裝與配置
7.開發(fā)體驗 Java 應用程序
8.Java 程序的執(zhí)行原理
9.Java Code Style
10.變量的聲明與使用
11.變量內存空間分配與原理
12.進制與位運算
13.變量的數據類型
14.數據類型之間的轉換
15.變量的運算與底層運算原理
HDU 1728 逃離迷宮 bfs 限制k次轉彎
>
逃離迷宮
Time Limit: 1000/1000 MS (java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 25472 Accepted Submission(s): 6220
PRoblem Description 給定一個m × n (m行, n列)的迷宮,迷宮中有兩個位置,gloria想從迷宮的一個位置走到另外一個位置,當然迷宮中有些地方是空地,gloria可以穿越,有些地方是障礙,她必須繞行,從迷宮的一個位置,只能走到與它相鄰的4個位置中,當然在行走過程中,gloria不能走到迷宮外面去。令人頭痛的是,gloria是個沒什么方向感的人,因此,她在行走過程中,不能轉太多彎了,否則她會暈倒的。我們假定給定的兩個位置都是空地,初始時,gloria所面向的方向未定,她可以選擇4個方向的任何一個出發(fā),而不算成一次轉彎。gloria能從一個位置走到另外一個位置嗎?
Input 第1行為一個整數t (1 ≤ t ≤ 100),表示測試數據的個數,接下來為t組測試數據,每組測試數據中, 第1行為兩個整數m, n (1 ≤ m, n ≤ 100),分別表示迷宮的行數和列數,接下來m行,每行包括n個字符,其中字符’.’表示該位置為空地,字符’*’表示該位置為障礙,輸入數據中只有這兩種字符,每組測試數據的**后一行為5個整數k, x1, y1, x2, y2 (1 ≤ k ≤ 10, 1 ≤ x1, x2 ≤ n, 1 ≤ y1, y2 ≤ m),其中k表示gloria**多能轉的彎數,(x1, y1), (x2, y2)表示兩個位置,其中x1,x2對應列,y1, y2對應行。
Output 每組測試數據對應為一行,若gloria能從一個位置走到另外一個位置,輸出“yes”,否則輸出“no”。
Sample Input 2 5 5 …** .*. ….. ….. *…. 1 1 1 1 3 5 5 …** .*. ….. ….. *…. 2 1 1 1 3
Sample Output no yes
題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1728
題意
給一個圖,限定轉彎次數為k次,判定能否從一個點走到另一個點。題解
記錄到達每個點的轉彎次數,bfs寬搜。 注意點: (1)同一個方向的路徑先入隊 (2)題目先先輸入列再輸入行的!#include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> #include <math.h> #include <stack> #include <queue> #include <vector> #define INF 0x3f3f3f3f using namespace std; //bfs先朝一個方向走到底 const int maxn = 110; int m, n; char pic[maxn][maxn]; int vis[maxn][maxn]; int r0, c0, r1, c1, k; const int dr[]={-1,0,1,0}; const int dc[]={0,1,0,-1}; struct Node{ int r, c, cnt; Node(){} Node(int r, int c, int cnt):r(r), c(c), cnt(cnt){} }; int go(int r, int c){ if(r>=0 && r<m && c>=0 && c<n && pic[r][c] == . ){ return 1; } return 0; } void solve(){ queue<Node> q; memset(vis, 0, sizeof(vis)); Node st(r0, c0, -1);// i=1時,沒有轉彎,所以初始值為-1 q.push(st); while(!q.empty()){ Node st = q.front(); q.pop(); for(int i=0; i<4; i ){ int nextr = st.r dr[i]; int nextc = st.c dc[i]; while(go(nextr, nextc)){ if( vis[nextr][nextc] == 0){ //遺漏 vis[nextr][nextc] = 1; Node ed(nextr, nextc, st.cnt 1); q.push(ed); if(ed.r == r1 && ed.c == c1 && ed.cnt<=k){ printf("yes\n"); return; } } nextr = dr[i]; nextc = dc[i]; } } } printf("no\n"); } int main(){ int t; scanf("%d", &t); while(t--){ scanf("%d%d", &m, &n); for(int i=0; i<m; i ){ scanf("%s", pic[i]); } scanf("%d%d%d%d%d", &k, &c0, &r0, &c1, &r1); //先輸入的是列,再是行 r0--,c0--,r1--,c1--; if(r0 == r1 && c0 == c1) printf("yes\n"); else solve(); } return 0; }
相關推薦: