BC - 074- A&B&C
AtCoder ABC 074 A&B&C
AtCoder - 074
A 문제
private void solveA() {
int numN = nextInt();
int numA = nextInt();
out.println(numN * numN - numA);
}
B 문제
private void solveA() {
int numN = nextInt();
int numA = nextInt();
out.println(numN * numN - numA);
}
B 문제
private void solveB() {
int numN = nextInt();
int numK = nextInt();
int[] wk = IntStream.range(0, numN).map(i -> nextInt()).toArray();
int res = Arrays.stream(wk).reduce(0, (sum, num) -> {
return sum += Math.min(num * 2, (numK - num) * 2);
});
out.println(res);
}
C 문제
private void solveC() {
int numA = nextInt();
int numB = nextInt();
int numC = nextInt();
int numD = nextInt();
int numE = nextInt();
int numF = nextInt();
int[][] memoC = new int[101][2];
double noudoMax = -1;
int water = 0;
int sugar = 0;
/*
* Aのloop・水AがF以下(未満ではない)
*/
for (int i = 0; (numA * 100) * i <= numF; i++) {
int wA = (numA * 100) * i;
if (wA > numF) {
break;
}
/*
* Bのloop・水Aと水Bを足してF以下
*/
for (int j = 0; wA + ((numB * 100) * j) <= numF; j++) {
int wB = (numB * 100) * j;
// if (wA + wB > numF) {
// break;
// }
if (wA + wB == 0) {
continue;
}
/*
* Cのloop・水Aと水Bと砂糖Cを足してF以下
*/
for (int k = 0; wA + wB + (numC * k) <= numF; k++) {
int sC = numC * k;
if (numE < 100 * k / (wA + wB)) {
break;
}
/*
* Dのloop・水Aと水Bと砂糖Cと砂糖Dを足してF以下
*/
for (int l = 0; wA + wB + sC + (numD * l) <= numF; l++) {
int sD = numD * l;
/*
* 全て0は対象外
*/
if (wA + wB + sC + sD == 0) {
continue;
}
// if (wA + wB + sC + sD > numF) {
// break;
// }
/*
* 砂糖がEよりも多く水に溶けている場合は対象外
* 除算をしていないのは丸め誤差を気にしているため
*/
if (numE * (wA + wB) < 100 * (sC + sD)) {
break;
}
/*
* 濃度計算:1000000を乗算しているのは丸め誤差対策
*/
double noudo = 1000000 * (sC + sD) / (wA + wB + sC + sD);
if (noudoMax < noudo) {
noudoMax = noudo;
water = wA + wB;
sugar = sC + sD;
}
}
}
}
}
out.println(water + sugar + " " + sugar);
}
Reference
이 문제에 관하여(BC - 074- A&B&C), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shihou22/items/2e7d539e717f8732325c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)