有講跟沒講一樣呢~
題目看清楚
務必回扣主題
注意評分標準
觀察、回想身邊困擾
人
事
時
地
物
觀察、回想身邊困擾
人
事
時
地
物
人
特定人物
某些族群
某些職業
一種類型
人
我
暈船對象
特定人物
某些族群
男
學生
某些職業
高雄人
上班族
一種類型
相貌平平
運氣普通
人
我
暈船對象
特定人物
某些族群
男
學生
某些職業
高雄人
上班族
一種類型
相貌平平
運氣普通
過敏
人
我
暈船對象
特定人物
某些族群
男
學生
某些職業
高雄人
上班族
一種類型
相貌平平
運氣普通
過敏
觀察、回想身邊困擾
人
事
時
地
物
特定人物
某些族群
某些職業
一種類型
我
暈船對象
男
學生
高雄人
上班族
相貌平平
運氣普通
過敏
新聞時事
身邊瑣事
歷史事件
常駐事件
事
貪汙被抓
疫情再起
新聞時事
身邊瑣事
上課聽不懂
鄭捷殺人案
歷史事件
創客松
世界大戰
常駐事件
性別平權
道路安全
事
貪汙被抓
疫情再起
新聞時事
身邊瑣事
上課聽不懂
鄭捷殺人案
歷史事件
創客松
世界大戰
常駐事件
性別平權
道路安全
累累
事
貪汙被抓
疫情再起
新聞時事
身邊瑣事
上課聽不懂
鄭捷殺人案
歷史事件
創客松
世界大戰
常駐事件
性別平權
道路安全
累累
事
觀察、回想身邊困擾
人
事
時
地
物
累累
貪汙被抓
疫情再起
上課聽不懂
鄭捷殺人案
創客松
世界大戰
性別平權
道路安全
新聞時事
身邊瑣事
歷史事件
常駐事件
過去
時
現在
未來
金字塔建造技術
過去
全自動駕駛
AI崛起
賽博龐克
少子化
時
現在
未來
宮廷
金字塔建造技術
過去
全自動駕駛
AI崛起
賽博龐克
少子化
時
現在
未來
宮廷
觀察、回想身邊困擾
人
事
時
地
物
金字塔建造技術
全自動駕駛
AI崛起
賽博龐克
少子化
宮廷
過去
現在
未來
吸塵器
百貨公司
東西放到過期
地
物
飯店
冰箱
家
告示牌
公園
針孔偷拍
吸塵器
百貨公司
東西放到過期
地
物
飯店
冰箱
家
告示牌
公園
針孔偷拍
吸塵器
百貨公司
東西放到過期
地
物
飯店
冰箱
家
告示牌
公園
針孔偷拍
偷拍
放到過期
過敏
體力不足
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
偷拍
放到過期
過敏
體力不足
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
沒鼻子錯了嗎
欸嘿我還醒著
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
針孔攝影機掃描器
紅外線/無線訊號偵測
紅外線接收器
鏡頭
回饋結果
蜂鳴器
LED
開發板
Arduino UNO / NANO
ESP32
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
冰箱智慧管理系統
獲取有效日期資訊
影像辨識
手動輸入
資料管理
SD卡
MySQL
提醒媒介
手機App
LCD / OLED
?
?
?
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
硬體模型
雷切(要排隊)
3D列印機(要排隊且非常耗時!)
紙箱(成本低、相對不堅固)
硬體線路
麵包板
洞洞板
軟體
開發板、後端程式
美術、UI介面設計
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
硬體模型
雷切(要排隊)
3D列印機(要排隊且非常耗時!)
紙箱(成本低、相對不堅固)
硬體線路
麵包板
洞洞板
軟體
開發板、後端程式
美術、UI介面設計
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
簡報
詳見簡報課:D
DEMO影片
30秒到3分鐘
清楚展示所有功能
具活潑情境、有字幕佳
剪片工具:
YouCut
iMovie
Canva
針孔攝影機掃描器
冰箱智慧管理系統
鼻子剁掉
不要報名黑客松
→
→
→
→
簡報
詳見簡報課:D
DEMO影片
30秒到3分鐘
清楚展示所有功能
具活潑情境、有字幕佳
剪片工具:
YouCut
iMovie
Canva
就是這樣喵~
每回合10分鐘
以小隊為單位舉手搶答!
請參考前面發想流程進行發想
完成發表後,整組可領取零食獎勵~
參與發表的小隊員能多拿一樣零食:D
等我跑一下><
發現 -> 擬定 -> 驗證 -> 實作 -> 發表
登入 Google / Microsoft / Apple 帳號即可使用
免費模型:3.5 4o mini / 4o(每日使用額度限量)
功能廣泛
擅長翻譯、文意理解(?
不擅邏輯
回答不一定正確!
使用時務必下清楚指令
#include <iostream>
#define UNASSIGNED 0
#define N 9
using namespace std;
bool FindUnassignedLocation(int grid[N][N], int &row, int &col);
bool isSafe(int grid[N][N], int row, int col, int num);
bool SolveSudoku(int grid[N][N]) {
int row, col;
if (!FindUnassignedLocation(grid, row, col))
return true;
for (int num = 1; num <= 9; num++) {
if (isSafe(grid, row, col, num)) {
grid[row][col] = num;
if (SolveSudoku(grid))
return true;
grid[row][col] = UNASSIGNED;
}
}
return false;
}
bool FindUnassignedLocation(int grid[N][N], int &row, int &col) {
for (row = 0; row < N; row++)
for (col = 0; col < N; col++)
if (grid[row][col] == UNASSIGNED)
return true;
return false;
}
bool UsedInRow(int grid[N][N], int row, int num) {
for (int col = 0; col < N; col++)
if (grid[row][col] == num)
return true;
return false;
}
bool UsedInCol(int grid[N][N], int col, int num) {
for (int row = 0; row < N; row++)
if (grid[row][col] == num)
return true;
return false;
}
bool UsedInBox(int grid[N][N], int boxStartRow, int boxStartCol, int num) {
for (int row = 0; row < 3; row++)
for (int col = 0; col < 3; col++)
if (grid[row + boxStartRow][col + boxStartCol] == num)
return true;
return false;
}
bool isSafe(int grid[N][N], int row, int col, int num) {
return !UsedInRow(grid, row, num) &&
!UsedInCol(grid, col, num) &&
!UsedInBox(grid, row - row % 3, col - col % 3, num) &&
grid[row][col] == UNASSIGNED;
}
void printGrid(int grid[N][N]) {
for (int row = 0; row < N; row++) {
for (int col = 0; col < N; col++)
cout << grid[row][col] << " ";
cout << endl;
}
}
int main() {
int grid[N][N] = {
{5, 3, 0, 0, 7, 0, 0, 0, 0},
{6, 0, 0, 1, 9, 5, 0, 0, 0},
{0, 9, 8, 0, 0, 0, 0, 6, 0},
{8, 0, 0, 0, 6, 0, 0, 0, 3},
{4, 0, 0, 8, 0, 3, 0, 0, 1},
{7, 0, 0, 0, 2, 0, 0, 0, 6},
{0, 6, 0, 0, 0, 0, 2, 8, 0},
{0, 0, 0, 4, 1, 9, 0, 0, 5},
{0, 0, 0, 0, 8, 0, 0, 7, 9}
};
if (SolveSudoku(grid) == true)
printGrid(grid);
else
cout << "No solution exists";
return 0;
}
不夠清楚的指令
變成解題程式ㄌ
沒有格線
清楚詳細的指令
詳細功能要求
操作說明
期望效果
可以玩了!
隨機「挖空」,並非隨機出題
報錯內容不一定對
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#define UNASSIGNED 0
#define N 9
using namespace std;
bool FindUnassignedLocation(int grid[N][N], int &row, int &col);
bool isSafe(int grid[N][N], int row, int col, int num);
bool SolveSudoku(int grid[N][N]);
void printGrid(int grid[N][N]);
void generateSudoku(int grid[N][N]) {
// Clear the grid
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
grid[i][j] = UNASSIGNED;
// Fill the diagonal 3x3 matrices
for (int i = 0; i < N; i += 3) {
vector<int> numList = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for (int row = i; row < i + 3; row++) {
for (int col = i; col < i + 3; col++) {
int num = numList.back();
numList.pop_back();
grid[row][col] = num;
}
}
}
// Solve the partially filled grid
SolveSudoku(grid);
// Remove random elements to create the puzzle
int numToRemove = 40; // You can adjust this for difficulty
while (numToRemove > 0) {
int cellId = rand() % (N * N);
int row = cellId / N;
int col = cellId % N;
if (grid[row][col] != UNASSIGNED) {
grid[row][col] = UNASSIGNED;
numToRemove--;
}
}
}
void printGridWithLines(int grid[N][N]) {
for (int row = 0; row < N; row++) {
if (row % 3 == 0) cout << "+-------+-------+-------+" << endl;
for (int col = 0; col < N; col++) {
if (col % 3 == 0) cout << "| ";
if (grid[row][col] == UNASSIGNED)
cout << ". ";
else
cout << grid[row][col] << " ";
}
cout << "|" << endl;
}
cout << "+-------+-------+-------+" << endl;
}
bool SolveSudoku(int grid[N][N]) {
int row, col;
if (!FindUnassignedLocation(grid, row, col))
return true;
for (int num = 1; num <= 9; num++) {
if (isSafe(grid, row, col, num)) {
grid[row][col] = num;
if (SolveSudoku(grid))
return true;
grid[row][col] = UNASSIGNED;
}
}
return false;
}
bool FindUnassignedLocation(int grid[N][N], int &row, int &col) {
for (row = 0; row < N; row++)
for (col = 0; col < N; col++)
if (grid[row][col] == UNASSIGNED)
return true;
return false;
}
bool UsedInRow(int grid[N][N], int row, int num) {
for (int col = 0; col < N; col++)
if (grid[row][col] == num)
return true;
return false;
}
bool UsedInCol(int grid[N][N], int col, int num) {
for (int row = 0; row < N; row++)
if (grid[row][col] == num)
return true;
return false;
}
bool UsedInBox(int grid[N][N], int boxStartRow, int boxStartCol, int num) {
for (int row = 0; row < 3; row++)
for (int col = 0; col < 3; col++)
if (grid[row + boxStartRow][col + boxStartCol] == num)
return true;
return false;
}
bool isSafe(int grid[N][N], int row, int col, int num) {
return !UsedInRow(grid, row, num) &&
!UsedInCol(grid, col, num) &&
!UsedInBox(grid, row - row % 3, col - col % 3, num) &&
grid[row][col] == UNASSIGNED;
}
bool isFull(int grid[N][N]) {
for (int row = 0; row < N; row++)
for (int col = 0; col < N; col++)
if (grid[row][col] == UNASSIGNED)
return false;
return true;
}
bool isValid(int grid[N][N]) {
for (int row = 0; row < N; row++) {
for (int col = 0; col < N; col++) {
if (grid[row][col] != UNASSIGNED) {
int num = grid[row][col];
grid[row][col] = UNASSIGNED;
if (!isSafe(grid, row, col, num)) {
grid[row][col] = num;
return false;
}
grid[row][col] = num;
}
}
}
return true;
}
int main() {
srand(time(0));
int grid[N][N];
int original[N][N];
generateSudoku(grid);
// Copy original grid
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
original[i][j] = grid[i][j];
printGridWithLines(grid);
while (!isFull(grid) || !isValid(grid)) {
int x, y, num;
cout << "Enter row, column and number (x y num): ";
cin >> x >> y >> num;
x--; y--; // adjust for 0-based index
if (original[x][y] != UNASSIGNED) {
cout << "Cannot change the original puzzle numbers!" << endl;
} else if (num != UNASSIGNED && !isSafe(grid, x, y, num)) {
cout << "Number conflicts with existing entries!" << endl;
} else {
grid[x][y] = num;
printGridWithLines(grid);
}
if (isFull(grid) && isValid(grid)) {
cout << "Congratulations! You've solved the Sudoku!" << endl;
break;
}
}
return 0;
}
https://copilot.microsoft.com/
Windows 11 右下角
Edge 瀏覽器搜尋結果上滑/右側
跟 Chat GPT 差不多
部分功能需登入 Microsoft 帳號(例如算圖)
搭配 DALL·E 3 算圖(每日限額快速算圖)
丟圖片掃描也OK~
注意是否查錯資料
generate a thinking person, with cartoon style and pure white background
簡單、清楚的提示詞
建議必備內容
內容
風格
背景
Generate / Create / ...
強烈建議使用英文
Generate a stunning, sleek, and opulent rocket, boasting an exceptionally fluid aerodynamic shape and impeccable proportions. Its pristine white exterior contrasts magnificently against a transparent green backdrop. The rocket features an exquisitely crafted petite window, exuding elegance. From its thrusters erupts a breathtaking display of flames, transitioning gracefully from a vivid blue to a rich red gradient, creating a spectacular and majestic visual.