로봇이 그리드에서 이동을 완료하는 데 필요한 총 비용을 계산하는 C++ 프로그램
h x w 크기의 그리드가 있다고 가정합니다. 그리드의 각 셀에는 양의 정수가 포함되어 있습니다. 이제 특정 셀(p, q)(p는 행 번호, q는 열 번호)에 경로 찾기 로봇이 배치되어 셀(i, j)로 이동할 수 있습니다. 이동 작업의 특정 비용은 |p - i| + |q - j|입니다. 이제 다음 속성을 가진 q개의 여행이 있습니다.
각 여행에는 두 개의 값(x, y)이 있으며 공통 값 d가 있습니다.
로봇은 x 값을 가진 셀에 배치된 다음 x + d 값을 가진 다른 셀로 이동합니다.
그런 다음 x + d + d 값을 가진 다른 셀로 이동합니다. 이 과정은 로봇이 y보다 크거나 같은 값을 갖는 셀에 도달할 때까지 계속됩니다.
y - x는 d의 배수입니다.
이러한 여행을 고려하여 각 여행의 총 비용을 찾아야 합니다. 로봇이 움직일 수 없으면 이동 비용은 0입니다.
그러므로 입력이 h = 3, w = 3, d = 3, q = 1, 그리드 = {{2, 6, 8}, {7, 3, 4}, {5, 1, 9 }} , 여행 = {{3, 9}}이면 출력은 4입니다.
3 셀(2, 2)
6 셀(1, 2)
9 셀(3, 3)
총 비용 = | (1 - 2) + (2 - 2) | (3 - 1) + (3 - 2) = 4.
이 문제를 해결하기 위해 다음 단계를 따릅니다.
Define one map loc for initialize i := 0, when i < h, update (increase i by 1), do: for initialize j := 0, when j < w, update (increase j by 1), do: loc[grid[i, j]] := new pair(i, j) Define an array dp[d + 1] for initialize i := 1, when i <= d, update (increase i by 1), do: j := i while j < w * h, do: n := j + d if j + d > w * h, then: Come out from the loop dx := |first value of loc[n] - first value of loc[j]| dy := |second value of loc[n] - second value of loc[j]| j := j + d insert dx + dy at the end of dp[i] for initialize j := 1, when j < size of dp[i], update (increase j by 1), do: dp[i, j] := dp[i, j] + dp[i, j - 1] for initialize i := 0, when i < q, update (increase i by 1), do: tot := 0 le := first value of trips[i] ri := second value of trips[i] if ri mod d is same as 0, then: f := d Otherwise, f := ri mod d pxl := (le - f) / d pxr := (ri - f) / d if le is same as f, then: if ri is same as f, then: tot := 0 Otherwise tot := tot + (dp[f, pxr - 1] - 0) Otherwise if ri is same as f, then: tot := 0 Otherwise tot := tot + dp[f, pxr - 1] - dp[f, pxl - 1] print(tot)
더 나은 이해를 위해 아래 구현을 살펴보겠습니다. −
Example
#include <bits/stdc++.h> using namespace std; const int INF = 1e9; void solve(int h, int w, int d, int q, vector<vector<int>> grid, vector<pair<int, int>> trips) { map<int, pair<int, int>> loc; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) loc[grid[i][j]] = make_pair(i, j); } vector<int> dp[d + 1]; for (int i = 1; i <= d; i++) { int j = i; while (j < w * h) { int n = j + d; if (j + d > w * h) break; int dx = abs(loc[n].first - loc[j].first); int dy = abs(loc[n].second - loc[j].second); j += d; dp[i].push_back(dx + dy); } for (j = 1; j < dp[i].size(); j++) dp[i][j] += dp[i][j - 1]; } for (int i = 0; i < q; i++) { int tot = 0; int le, ri; le = trips[i].first; ri = trips[i].second; int f; if (ri % d == 0) f = d; else f = ri % d; int pxl, pxr; pxl = (le - f) / d; pxr = (ri - f) / d; if (le == f){ if (ri == f) tot = 0; else tot += (dp[f][pxr - 1] - 0); } else { if (ri == f) tot = 0; else tot += dp[f][pxr - 1] - dp[f][pxl - 1]; } cout<< tot << endl; } } int main() { int h = 3, w = 3, d = 3, q = 1; vector<vector<int>> grid = {{2, 6, 8}, {7, 3, 4}, {5, 1, 9}}; vector<pair<int, int>> trips = {{3, 9}}; solve(h, w, d, q, grid, trips); return 0; }
Input
3, 3, 3, 1, {{2, 6, 8}, {7, 3, 4}, {5, 1, 9}}, {{3, 9}}
Output
4
위 내용은 로봇이 그리드에서 이동을 완료하는 데 필요한 총 비용을 계산하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 서론 현재 주요 객체 검출기는 Deep CNN의 용도 변경된 백본 분류기 네트워크를 기반으로 하는 2단계 또는 단일 단계 네트워크입니다. YOLOv3은 입력 이미지를 수신하고 이를 동일한 크기의 그리드 매트릭스로 나누는 잘 알려진 최첨단 단일 스테이지 검출기 중 하나입니다. 표적 중심이 있는 그리드 셀은 특정 표적을 탐지하는 역할을 담당합니다. 오늘 제가 공유하는 것은 정확한 딱 맞는 경계 상자 예측을 달성하기 위해 각 대상에 여러 그리드를 할당하는 새로운 수학적 방법입니다. 연구원들은 또한 표적 탐지를 위한 효과적인 오프라인 복사-붙여넣기 데이터 향상 기능을 제안했습니다. 새로 제안된 방법은 현재의 일부 최첨단 객체 감지기보다 훨씬 뛰어난 성능을 발휘하며 더 나은 성능을 약속합니다. 2. 배경 타겟 탐지 네트워크는 다음을 사용하도록 설계되었습니다.

어제 '인간의 길을 대체하는 AI 레벨맵'이라는 흥미로운 사진을 봤습니다. 그림에서 볼 수 있듯이 게임은 E1부터 E8+까지 6가지 레벨로 구분됩니다. 우리는 인공지능(AI)이 다양한 분야에서 인간의 응용 프로그램을 대체하고 있음을 그림에서 볼 수 있습니다. 인공지능의 적용 분야 경로는 내결함성 비율에 따라 결정됩니다. 간단히 말해서, 여기서 오류 허용 오차는 시행착오의 비용을 의미합니다. AI는 점차적으로 오류 허용 비율이 높거나 낮은 산업을 대체하고 점차적으로 인간 직업을 "대체"할 것입니다. 과거에 우리는 창의적인 작업이 인간의 사고에 의존하고 쉽게 대체되지 않는다고 종종 생각했습니다. 그러나 인공지능의 발달로 인해 이러한 견해는 완전히 옳은 것 같지는 않다. 창의적인 직업에는 정해진 답이 없는 경우가 많습니다

1. Apple 휴대폰의 바탕 화면을 열고 [설정]을 찾아 클릭하여 들어갑니다. 2. 설정 페이지에서 클릭하여 [카메라]로 들어갑니다. 3. [그리드] 오른쪽의 스위치를 클릭하여 켜세요.

CSS 레이아웃 팁: 원형 그리드 아이콘 레이아웃 구현을 위한 모범 사례 그리드 레이아웃은 현대 웹 디자인에서 일반적이고 강력한 레이아웃 기술입니다. 원형 그리드 아이콘 레이아웃은 더욱 독특하고 흥미로운 디자인 선택입니다. 이 문서에서는 원형 그리드 아이콘 레이아웃을 구현하는 데 도움이 되는 몇 가지 모범 사례와 특정 코드 예제를 소개합니다. HTML 구조 먼저 컨테이너 요소를 설정하고 이 컨테이너에 아이콘을 배치해야 합니다. 순서가 지정되지 않은 목록(<ul>)을 컨테이너로 사용할 수 있으며 목록 항목(<l

David Linsigao 작성 | Yanzheng 51CTO Technology Stack에서 제작한 제품(WeChat ID: blog51cto) 기술 분야에는 암묵적인 규칙이 있습니다. 모든 사람은 다른 사람의 기술을 사용하는 것을 좋아합니다. 그러나 많은 기업에서 생성적 AI는 이러한 틀에 맞지 않는 것 같습니다. 모든 조직은 사내에서 맞춤형 생성 AI 플랫폼을 구축할지 아니면 AI 공급업체(종종 클라우드 서비스로 제공)에서 사전 패키지된 솔루션을 구매할지 여부와 같은 중요한 선택에 직면합니다. 이상하지만 그 이유가 여러분을 놀라게 할 수도 있습니다. 엔터프라이즈 genAI 전략을 다시 생각하게 만들 수도 있습니다. 1. 완벽한 사용자 정의 및 제어 콘텐츠를 다음과 같이 다시 작성하세요.

2020년 GPT-3이 등장한 이후 ChatGPT의 인기로 인해 GPT 제품군의 생성적 대규모 언어 모델이 다시 한 번 주목을 받았으며 다양한 작업에서 강력한 성능을 보여주었습니다. 그러나 모델의 규모가 크면 계산 비용도 증가하고 배포 난이도도 높아집니다. 예를 들어, GPT‑175B 모델은 반정밀도(FP16) 형식으로 총 저장 공간이 최소 320GB이므로 추론을 위해 80GB 저장 공간을 갖춘 A100 GPU가 5개 이상 필요합니다. 모델 압축은 현재 대형 모델의 계산 비용을 줄이기 위해 일반적으로 사용되는 방법이지만 현재까지 거의 모든 기존

hxw 그리드가 있다고 가정해 보겠습니다. 그리드는 'initGrid'라는 2차원 배열로 표시되며 그리드의 각 셀은 '#' 또는 '.'으로 표시됩니다. '#'은 그리드에 장애물이 있음을 의미하고, '.'은 해당 셀에 경로가 있음을 의미합니다. 이제 행 번호 x와 열 번호 y가 있는 그리드의 'c' 셀에 로봇이 배치됩니다. 로봇은 행 번호 p와 열 번호 q가 있는 하나의 셀 'd'에서 다른 셀로 이동해야 합니다. 셀 좌표 c와 d는 모두 정수 쌍으로 제공됩니다. 이제 로봇은 다음과 같이 한 셀에서 다른 셀로 이동할 수 있습니다. 로봇이 이동하려는 셀이 현재 셀에 수직 또는 수평으로 인접해 있는 경우 로봇은 다음을 수행할 수 있습니다.

hxw 크기의 그리드가 있다고 가정합니다. 그리드의 각 셀에는 양의 정수가 포함되어 있습니다. 이제 특정 셀(p, q)(p는 행 번호, q는 열 번호)에 길찾기 로봇이 배치되어 해당 셀(i, j)로 이동할 수 있습니다. 이동 작업의 특정 비용은 |p-i|+|q-j|와 같습니다. 이제 다음 속성을 가진 q개의 여행이 있습니다. 각 여행에는 두 가지 값(x, y)과 공통 값 d가 있습니다. 로봇은 x 값을 가진 셀에 배치된 다음 x+d 값을 가진 다른 셀로 이동합니다. 그런 다음 x+d+d 값을 가진 다른 셀로 이동합니다. 이 과정은 로봇이 y보다 크거나 같은 값을 갖는 셀에 도달할 때까지 계속됩니다. y-x는 d의 배수입니다
