poj 1033 檔案移動

2021-07-09 22:34:10 字數 578 閱讀 7507

題意:磁碟n個塊,有m個檔案,各自被分割成許多塊分散在磁碟之中,要求通過最少移動次數使得第1個檔案的佔1,2,3...f1塊,第二個檔案佔f1+1,f1+2...f1+f2塊。。。

思路:dfs(k)為將第k位置填好。

#include #include #include #include using namespace std;

#define n 10005

int n,m;

int hh[n],s[n],len = 0,used[n];

int f;

int dfs(int i)

if(used[s[i]])elseelse

return ans;

}}int main()

for(i = 1;i<=len;i++)//看看是不是每個位置都放好了

if(s[i] != i)

break;

if(i == len+1)

printf("no optimization needed\n");

else}}

return 0;

}

3 檔案的游標移動

include include off t lseek int fd,off t offset,int whence lseek int fd,off t offset,int whence 注 lseek 檔案,偏移值,游標位置 偏移值 為 0 不移動,大於 0 正數 向後移動,小於 0 負數 向...

3 檔案游標移動操作

標頭檔案 include include off t lseek int fd,off t offset,int whence 將檔案讀寫指標相對whence移動offset個位元組。whence seek cur 檔案當前位置 seek set 檔案頭 seek end 檔案尾部offset 0 ...

1 檔案測試 2 檔案操作

1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...