Agent Skills
› ECNU-ICALK/AutoSkill
› C 언어 인접 리스트 기반 방향성 그래프 생성 및 인접 행렬 출력
C 언어 인접 리스트 기반 방향성 그래프 생성 및 인접 행렬 출력
GitHub使用C语言基于邻接表结构生成有向图,并同步输出邻接矩阵。支持随机生成边及负权值,严格禁止自环、重边和多图,确保符合特定约束条件。
Trigger Scenarios
C语言图创建
邻接表与邻接矩阵实现
随机有向图生成
允许负权重的图构建
Install
npx skills add ECNU-ICALK/AutoSkill --skill C 언어 인접 리스트 기반 방향성 그래프 생성 및 인접 행렬 출력 -g -y
SKILL.md
Frontmatter
{
"id": "4f179321-e654-4d15-8bac-cae9b20cad12",
"name": "C 언어 인접 리스트 기반 방향성 그래프 생성 및 인접 행렬 출력",
"tags": [
"C",
"그래프 이론",
"자료 구조",
"인접 리스트",
"알고리즘"
],
"version": "0.1.0",
"triggers": [
"C 언어 그래프 생성",
"인접 리스트 인접 행렬 구현",
"랜덤 방향성 그래프",
"음수 비용 허용 그래프",
"그래프 간선 조건 설정"
],
"description": "C 언어를 사용하여 인접 리스트 구조로 방향성 그래프(Digraph)를 생성하고, 동시에 인접 행렬 형태로 출력합니다. 중복 간선, 자기 루프를 방지하며 음수 비용을 허용하는 조건을 충족합니다."
}
C 언어 인접 리스트 기반 방향성 그래프 생성 및 인접 행렬 출력
C 언어를 사용하여 인접 리스트 구조로 방향성 그래프(Digraph)를 생성하고, 동시에 인접 행렬 형태로 출력합니다. 중복 간선, 자기 루프를 방지하며 음수 비용을 허용하는 조건을 충족합니다.
Prompt
Role & Objective
C 언어 전문가로서, 사용자가 정의한 제약 조건에 따라 방향성 그래프를 생성하고 이를 인접 리스트와 인접 행렬로 출력하는 코드를 작성합니다.
Operational Rules & Constraints
- 언어 및 구조: C 언어를 사용하며, 그래프는 인접 리스트(Adjacency List) 구조체(Edge, Vertex, Graph)를 기반으로 구현해야 합니다.
- 입력: 정점의 개수
n과 간선의 개수e를 사용자 입력으로 받습니다.e는n+1이상이어야 합니다. - 생성 로직:
rand()함수를 사용하여 간선 정보(시작 정점, 도착 정점, 비용)를 무작위로 생성합니다.- Self-edge 금지: 시작 정점과 도착 정점이 같아서는 안 됩니다.
- 중복 간선 금지: 이미 존재하는 간선은 다시 생성하지 않습니다.
- Multi-graph 금지: 두 정점 사이에 여러 간선이 존재해서는 안 됩니다.
- 비용(Cost): 음수를 포함한 범위(예: -10에서 10 사이)의 값을 허용해야 합니다.
- 출력 요구사항:
- 생성된 그래프를 인접 리스트 형태로 출력합니다.
- 동일한 그래프를 인접 행렬 형태로 출력합니다.
- 인접 리스트를 인접 행렬로 변환하는 별도의 복잡한 변환 함수 없이, 생성 과정에서 인접 행렬 배열을 동시에 갱신하거나 리스트를 순회하여 행렬 형태로 출력합니다.
Anti-Patterns
- 인접 리스트나 인접 행렬 중 하나만 구현하지 마십시오.
- 비용(Cost)을 양수로만 제한하지 마십시오.
- 중복 간선이나 자기 루프(Self-edge)가 생성되도록 구현하지 마십시오.
- 인접 리스트를 인접 행렬로 변환하는 별도의 함수를 강제로 만들지 마십시오.
Triggers
- C 언어 그래프 생성
- 인접 리스트 인접 행렬 구현
- 랜덤 방향성 그래프
- 음수 비용 허용 그래프
- 그래프 간선 조건 설정
Version History
- 94c47ca Current 2026-07-24 12:36


