Catch That Cow (bfs)

Catch That Cow
Time Limit: 2000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description

Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting. * Walking: FJ can move from any point X to the points X - 1 or X + 1 in a single minute * Teleporting: FJ can move from any point X to the point 2 × X in a single minute. If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?
Input

Line 1: Two space-separated integers: N and K
Output

Line 1: The least amount of time, in minutes, it takes for Farmer John to catch the fugitive cow.
Sample Input

5 17
Sample Output

4
Hint

poj3278 có liên tiếp nhắc nhở đề mục thỉnh đi trước liên tiếp chỗ đệ trình trình tự, AC sau đệ trình đến SDUTOJ trung, để tuần tra lưu trữ.
The fastest way for Farmer John to reach the fugitive cow is to move along the following path: 5-10-9-18-17, which takes 4 minutes.
Source

#include <stdio.h>
#include <memory.h>
int vis[100001],quee[100001],num[100001];
void bfs(int n,int k0)
{
int k=0,kk=0,i,next;
memset(quee,0,sizeof(quee));
memset(num,0,sizeof(num));
quee[kk++]=n;
vis[n]=1;
num[n]=0;
while(k<kk)
{
int now=quee[k++];
for(i=1; i<=3; i++) // ba loại hành tẩu phương pháp
{
if(i==1) next=now-1;
if(i==2) next=now+1;
if(i==3) next=now*2;
if(next<0||next>100000)
{
continue;
}
if(!vis[next]) // sở hữu điểm quan trọng không bị phỏng vấn quá liền đều có thể đi đến
{
vis[next]=1;
num[next]=num[now]+1;
quee[kk++]=next;
}
if(next==k0)
{
printf( "%d\n",num[next]);
return;
}
}
}
}
int main()
{
int n,k;
scanf( "%d%d",&n,&k);
bfs(n,k);
return 0;
}

Biểu hiện tính toán quá trình

#include<iostream>
#include<queue>
usingnamespacestd;
intnum[100001],vis[100001];
intn,k;
structnode
{
intmethod,pre;
}p[100001];
voiddfs(intt)
{
if(t!=n)dfs(p[t].pre);
if(t==n)return;
if(p[t].method==1)
{
inta=p[t].pre;
cout<<a<<"+1"<<endl;
}
if(p[t].method==2)
{
inta=p[t].pre;
cout<<a<<"-1"<<endl;
}
if(p[t].method==3)
{
inta=p[t].pre;
cout<<a<<"*2"<<endl;
}
}
voidbfs(intn)
{
queue<int>qu;
num[n]=0;
qu.push(n);
while(!qu.empty())
{
intnow=qu.front();
qu.pop();
if(now==k)
{
cout<<num[now]<<endl;
dfs(k);
return;
}
for(inti=1;i<=3;i++)
{
intnext;
if(i==1)next=now+1;
if(i==2)next=now-1;
if(i==3)next=now*2;
if(next<0||next>100000)
continue;
if(!vis[next])
{
vis[next]=1;
p[next].pre=now;
p[next].method=i;
num[next]=num[now]+1;
qu.push(next);
}
}
}
}
intmain()
{
cin>>n>>k;
bfs(n);
return0;
}

// phát ra như sau
517
4
5-1
4*2
8*2
16+1
【 tác phẩm tên 】: Căn cứ vào Delaunay tam giác mổ phân sinh viên phương trình không người đua xe đường nhỏ quy hoạch thuật toán 【 áp dụng đám người 】: Áp dụng với hy vọng học tập bất đồng kỹ thuật lĩnh vực tiểu bạch hoặc tiến giai học tập giả. Nhưng làm tất thiết hạng mục, chương trình học thiết kế, đại tác nghiệp, công trình thật huấn hoặc lúc đầu hạng mục đã được duyệt. 【 hạng mục giới thiệu 】: Căn cứ vào Delaunay tam giác mổ phân đường nhỏ quy hoạch thuật toán: Đem trùy thùng vị trí coi là ly tán điểm, xây dựng Delaunay tam giác, nhiên - đệ nhất liệt vào trùy thùng tự hào, trong ngoài sườn trùy thùng đã phân biệt dựa theo đường đua trình tự bài tự - đệ nhị liệt vào trùy thùng loại hình ( nhan sắc ), `2` vì ngoại sườn trùy thùng ( màu lam, ở vào chiếc xe chạy phương hướng bên trái ), `11` vì nội sườn trùy thùng ( màu vàng, ở vào chiếc xe chạy phương hướng phía bên phải ) - đệ tam bốn liệt vào x tọa độ cùng y tọa độ, đơn vị vì [m] Ở chân thật cảnh tượng trung, trang bị ở đua xe thượng truyền cảm khí cảm giác phạm vi là hữu hạn, cũng không thể một lần thu hoạch sở hữu trùy thùng vị trí. Bởi vậy, thiết kế một cái lượng biến đổi `interval`, dùng cho khống chế mỗi lần quy hoạch khi suy xét trùy thùng số lượng. ( nói cách khác, đem toàn bộ đường đua phân chia vì bao nhiêu cái đoạn đường, mỗi lần chỉ ở một cái đoạn đường nội tiến hành quy hoạch. ) như đồ sở kỳ, nếu `i 【 tài nguyên thanh minh 】: Bổn tài nguyên làm “Tham khảo tư liệu” mà không phải “Định chế nhu cầu”, số hiệu chỉ có thể làm tham khảo, không thể hoàn toàn phục chế rập khuôn. Cần phải có nhất định cơ sở có thể xem hiểu số hiệu, có thể tự hành điều chỉnh thử số hiệu cũng giải quyết báo sai, có thể tự hành tăng thêm công năng sửa chữa số hiệu.
Chủ yếu nội dung: Bổn văn giới thiệu một cái hoàn chỉnh trường hợp, triển lãm dùng MATLAB TreeBagger hàm số thực hiện căn cứ vào tùy cơ rừng rậm phương pháp tới tiến hành công nghiệp gia tăng giá trị đoán trước. Nên mô hình suy xét sinh sản tổng giá trị, đầu tư cùng với tiêu phí chờ nhân tố, thông qua kỹ càng tỉ mỉ thao tác bước đi sinh thành tương quan số liệu, huấn luyện cùng đánh giá tùy cơ rừng rậm mô hình. Văn trung còn cung cấp hoàn chỉnh nguyên số hiệu cùng thí dụ mẫu, phương tiện khai phá giả động thủ thực tiễn cùng học tập như thế nào lợi dụng thống kê cùng máy móc học tập thùng dụng cụ tiến hành đoán trước nhiệm vụ. Áp dụng đám người: Quen thuộc cơ bản MATLAB ngữ pháp, có nhất định số liệu phân tích kinh nghiệm cùng môn thống kê cơ sở tri thức nghiên cứu phát minh cùng công trình kỹ thuật nhân viên. Sử dụng cảnh tượng cập mục tiêu: Thích hợp dùng cho công nghiệp kinh tế phân tích sư hoặc là nghiên cứu học giả nhóm ở yêu cầu nhanh chóng đoán trước ngành sản xuất tăng trưởng xu thế khi tham khảo, đặc biệt đương đề cập đến nhiều nhân tố phức tạp lượng biến đổi dưới tình huống khi. Bổ sung thuyết minh: Này trường hợp còn bao gồm phân chia huấn luyện tập cùng nghiệm chứng tập, tính toán như đều phương khác biệt ( RMSE ) chờ đánh giá chỉ số trợ giúp kiểm nghiệm mô hình chuẩn xác độ công năng bộ phận, dễ bề người mới học nhanh chóng dựng mô hình, lý giải mỗi cái giai đoạn công tác chi tiết và tầm quan trọng.
Bình luận
Tăng thêm bao lì xì

Thỉnh điền bao lì xì chúc phúc ngữ hoặc tiêu đề

Cái

Bao lì xì cái số nhỏ nhất vì 10 cái

Nguyên

Bao lì xì kim ngạch thấp nhất 5 nguyên

Trước mặt ngạch trống3.43Nguyên Đi trước nạp phí >
Cần chi trả:10.00Nguyên
Thành tựu một trăm triệu kỹ thuật người!
Lĩnh sau ngươi sẽ tự động trở thành bác chủ cùng bao lì xì chủ fans Quy tắc
hope_wisdom
Phát ra bao lì xì
Thật phóNguyên
Sử dụng ngạch trống chi trả
Điểm đánh một lần nữa thu hoạch
Quét mã chi trả
Tiền bao ngạch trống 0

Để khấu thuyết minh:

1. Ngạch trống là tiền bao nạp phí giả thuyết tiền, dựa theo 1:1 tỉ lệ tiến hành chi trả kim ngạch để khấu.
2. Ngạch trống vô pháp trực tiếp mua sắm download, có thể mua sắm VIP, trả phí chuyên mục cập chương trình học.

Ngạch trống nạp phí