https://www.acmicpc.net/problem/3060
문제 분석

사료 양 = 전날 자신의 사료양 + 양 옆에 앉은 돼지 사료양 + 맞은편에 앉은 돼지 사료양으로 계산한 뒤에
며칠까지 돼지의 요구에 맞게 사료양을 구할수 있는지 구하는 문제입니다.
날별로 조건에 맞게 사료양을 구하고 총 사료양과 비교하면 됩니다.
소스 코드
#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <climits>
#include <algorithm>
using namespace std;
using std::cin;
using std::cout;
typedef long long int ll;
int days(vector<ll> &v, int f)
{
int day = 0;
ll fsum = 0;
while (fsum <=f)
{
fsum = 0;
vector<ll> nextv(6);
for (int i = 0; i < v.size(); i++)
{
fsum += v[i];
int right;
int left;
int opposit;
if (i - 1 < 0)
{
left = v.size() - 1;
}
else
{
left = i - 1;
}
if (i + 1 >= v.size())
{
right = 0;
}
else
{
right = i + 1;
}
opposit = i + 3;
if (opposit > 5)
{
opposit = opposit - 6;
}
nextv[i] = v[i] + v[left] + v[right] + v[opposit];
}
v = nextv;
day++;
}
return day;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
// 하루 사료의 양
int f;
cin >> f;
vector<ll> v(6);
for (int j = 0; j < 6; j++)
{
int n;
cin >> n;
v[j] = n;
}
cout << days(v, f) << "\n";
}
}'백준 > 실버' 카테고리의 다른 글
| [백준 1622]- 공통 순열(c++) (0) | 2026.04.03 |
|---|---|
| [백준 15729]- 방탈출(c++) (0) | 2026.03.25 |
| [백준 14916] - 거스름돈(c++) (0) | 2026.03.16 |
| [백준 1340] - 연도 진행바 (0) | 2026.03.05 |
| [백준 3758] - KCPC(C++) (0) | 2026.02.23 |