코드를수정하려고합니다
갅지돋는슬아
질문 제목 :
질문 내용 :
이코드를 보시면 아이템들이 이미 나와있자나요
그런데 저는 이걸 고칠려고해요
제가 입력받는건
물건의 갯수 n과 가방의무게한도 x ,물건의가격과 무게를 입력받아요
여기엔 물건의갯수가 정해져있죠..
이걸 수정하고싶은데 도와주세요
for문안에 스캔을 넣어서 배열로 받으면될꺼같은데 제가 구조체를아직안배워서 너무어렵네요
#include stdio.h
#include stdlib.h
#include stdint.h
typedef struct {
int weight, value;
} item_t;
item_t item[] = {
{9, 150},
{13, 35},
{153, 200},
{50, 160},
{15, 60},
{68, 45},
{27, 60},
{39, 40},
{23, 30},
{52, 10},
{11, 70},
{32, 30},
{24, 15},
{48, 10},
{73, 40},
{42, 70},
{43, 75},
{22, 80},
{7, 20},
{18, 12},
{4, 50},
{30, 10}
};
#define n_items (sizeof(item)/sizeof(item_t))
typedef struct {
uint32_t bits; /* 32 bits, can solve up to 32 items */
int value;
} solution;void optimal(int weight, int idx, solution *s)
{
solution v1, v2;
if (idx 0) {
s-bits = s-value = 0;
return;
}
if (weight item[idx].weight) {
optimal(weight, idx - 1, s);
return;
}
optimal(weight, idx - 1, &v1);
optimal(weight - item[idx].weight, idx - 1, &v2);
v2.value += item[idx].value;
v2.bits |= (1 idx);
*s = (v1.value = v2.value) ? v1 : v2;
}
int main(void)
{
int x;
scanf(%d,&x);
int i = 0, w = 0;
solution s = {0, 0};
optimal(x, n_items - 1, &s);
for (i = 0; i n_items; i++) {
if (s.bits & (1 i)) {
w += item[i].weight;
}
}
printf(Total value: %d; weight: %d\n, s.value, w);
return 0;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |
2691510 | sizeof 연산자 질문입니다 (2) | 종달 | 2025-04-14 |
2691483 | 파일 오픈시 에러 질문드립니다. (2) | 호습다 | 2025-04-14 |