최소 변경 가능 횟수를 입력해야합니다. 입력 한 케이스 수에는 각 동전의 수 (1은 반드시 그 중 일부는 아님)와 원하는 수의 숫자가 있습니다 테스트. 그럼 다른 동전과 테스트 할 다른 번호를 입력하십시오.최소 변경 금액 C++
내 프로그램이 왜 작동하지 않는지 알지 못합니다. 변경 사항 중 일부는 반드시 필요하지 않으므로 조금 프로그램을 수정해야했습니다.
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include<functional>
#include<numeric>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int n,i;
cin>>n;
int f=n,c,m;
int flag=0;
int m1;
int coins[100];
vector <int>storage(100,0);
vector <int> testcases(1000,0);
vector <int> answers(1000,-1);
while(n>0)
{
cin>>c;
cin>>m;
for(i=1;i<=c;i++)
{
cin>>coins[i];
}
for(i=1;i<=c;i++)
{
cin>>testcases[i];
}
m1=*max_element(testcases.begin(),testcases.end());
for(i=0;i<1000;i++)
{
answers[i]=-1;
}
i=0;
while(m1>=i)
{
i++;
flag=0;
for(int j=1;j<=c;j++)
{
if(i-coins[j]>=0)
{
storage[j]=answers[i-coins[j]];
flag=1;
}
else
storage[j]=-2;
}
if(flag==1)
{answers[i]=*min_element(begin(storage), end(storage),
[](int t1, int t2) {return t1 > 0 && (t2 <= 0 || t1 < t2);});
flag=0;
}
else
answers[i]=0;
}
if(m1==i)
{
for(int y=1;y<=m;y++)
{
cout<<answers[testcases[y]]<<endl;
}
}
}
return 0;
}
편집 : "작동하지 않습니다"에 의해 나는 그것 실제로 나던 할 anything.Its가 입력을 받아,이 무한 루프로가는 생각 아무 것도 아니야 않는 것을 의미한다.
"작동하지 않는"좋은 설명되지 않습니다 : 여기에 가이드입니다. 문제를 지정하십시오. – Appleshell
정교하게 설명하자면 : 프로그램이 컴파일에 실패합니까? (그렇다면 컴파일러에서 어떤 오류가 발생합니까?) 충돌이 발생합니까? 그렇다면 어떻게 컴파일하고 실행합니까? 컴파일 및 실행하지만 예기치 않은 출력을 생성합니까? 그렇다면 출력물은 무엇이며 무엇을 얻으려고합니까? – jalf
글쎄 그것은 나에게 아무런 도움도주지 못한다.하지만 그것은 입력이다. 아무것도하지 않는다. debiugging 것은 inmy 컴파일러를 작동시키지 않는다. – LoveMeow