코드를수정하려고합니다
갅지돋는슬아
질문 제목 :
질문 내용 :
이코드를 보시면 아이템들이 이미 나와있자나요
그런데 저는 이걸 고칠려고해요
제가 입력받는건
물건의 갯수 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;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654381 | 혼자 연구하는 c/c++ 질문 | 아잉 | 2024-05-10 |
2654352 | 행렬크기를 scanf로 입력받을수도 있나요..? | VanilLa | 2024-05-10 |
2654293 | 첫시작값과 끝값의 사이에 존재하는 정수들의 합을 구하는 것 (5) | 해긴 | 2024-05-09 |
2654185 | 64bit 환경에서 자료형의 크기가 좀궁그해요(완료) 더궁금한게 생겻어요(추가) (2) | 빈길 | 2024-05-08 |
2654152 | 확장자 exe로 변경 (1) | 한 | 2024-05-08 |
2654128 | c언어 간단하게 자판기만들려는데 ㅜㅜ | 유1혹 | 2024-05-08 |
2654074 | 배열에 들어있는값을 포인터에 옮기고 싶어요.. | 소라 | 2024-05-07 |
2654043 | 이차원 배열에 있는 값들 더하기.. | 선아 | 2024-05-07 |
2654011 | c언어 대문자소문자, 소문자대문자 변형하기, | 샤르 | 2024-05-07 |
2653985 | 실수 자료형 표현범위있잖아요 (1) | 패틱 | 2024-05-06 |
2653957 | 뭐가틀린건가요?.. (2) | 볼1매그녀 | 2024-05-06 |
2653934 | malloc을 이용한 출력 (1) | 하예 | 2024-05-06 |
2653906 | 숫자 야구 게임인데요.. (2) | 상큼한캔디 | 2024-05-06 |
2653883 | 구조체 질문이요.. 연결리스트. (1) | 별 | 2024-05-05 |
2653802 | 배열에 저장된 데이터와 원하는 데이터비교하는것좀.. | 리카 | 2024-05-05 |
2653727 | 고수님들 봐주세요~ (2) | 아담 | 2024-05-04 |
2653702 | C언어 의 단계가 어떻게 되나요???????????????? (3) | 길가온 | 2024-05-04 |
2653645 | 저....while인데..이게무슨뜻인지좀.. | 설희 | 2024-05-03 |
2653613 | 성별변수 | 뿡뿡 | 2024-05-03 |
2653584 | 16진수 변환 관련 질문 드립니다. | 매미꽃 | 2024-05-03 |