rice

D. Feeding Chicken(构造)

时光毁灭记忆、已成空白 提交于 2019-12-07 17:17:28
题目大意:将k个鸡放到一个n*m的矩阵中,要求每个鸡所占的rice的个数只差最小 题解:构造,设一共有cnt个rice,可以分cnt/k个,即每一只鸡要么占用cnt/k个rice,要么占cnt/k+1个rice。蛇形跑一边矩阵即可。 注意:要判断当前鸡的个数,即如果当前鸡的个数达到k个,那么放置完毕,鸡的数量不能再增长,而且剩下的格子一定是"."。 #include<bits/stdc++.h> using namespace std; const int N=1E2+7; char arr[N][N]; char mark[N][N]; string s="1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; void solve(){ int n,m,k; scanf("%d%d%d",&n,&m,&k); for(int i=1;i<=n;i++) scanf("%s",arr[i]+1); int cnt=0; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(arr[i][j]=='R') cnt++; int x=cnt/k; int a=cnt%k; int pos=1; int sum=0; for(int i=1;i<=n;i++){ if(i

C# .net async await 学习

让人想犯罪 __ 提交于 2019-12-06 16:41:21
async/await简单介绍 在处理比较耗时的操作(如图片处理、数据压缩、http请求等)传统的异步方法是直接使用Thread或者Task进行操作,在复杂的应用编写中可能会出现回调的问题,因此C#目前主要推荐使用async/await来进行异步操作。也就是 async/await主要用来异步回调问题 , 而真正的异步操作还是用Task。 返回值 通常返回 Task 或 Task<TResult> 。 在异步方法中,await 运算符应用于通过调用另一个异步方法返回的任务 如果方法包含指定 TResult 类型操作数的 return 语句,将 Task<TResult> 指定为返回类型,如果方法不含任何 return 语句或包含不返回操作数的 return 语句,将 Task 用作返回类型 异步方法也可以具有 void 返回类型。但是不推荐使用,因为无法等待具有 void 返回类型的异步方法,并且无效返回方法的调用方捕获不到异步方法引发的任何异常,而且也违背了我们使用他的初衷--解决异步回调问题 还需要注意: 异步方法既不能声明任何 in、ref 或 out 参数,也不能具有引用返回值,但它可以调用具有此类参数的方法 实例 假如现在要做饭,需要做米饭2秒,做汤2秒;同步的方法就是先做米饭等待2秒,然后做汤等待2秒;异步的方法,米饭和汤同时做,一共花2秒 代码如下 class

MATLAB图像的代数运算

匆匆过客 提交于 2019-12-02 07:05:09
1.图像旋转与缩放 bm=imread("3.png"); %subplot(1,3,1); imshow(bm); %缩放图片 %bt=imresize(bm,0.5,'nearest'); %图片旋转,第三个参数可选,逆时针旋转 theta=30; bt=imrotate(bm,theta,'crop'); %subplot(1,3,2); figure,imshow(bt) 'crop'表示旋转时,是否切割。 2.图像的加法运算 2.1 图像结合 在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下: Z = imadd(X,Y) 其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。 I=imread('3.png'); J=imread('4.png'); n = size(I,2); m = size(J,2); if n > m n = m; end i = size(I,1); j = size(J,1); if i > j i = j; end k = size(I,3); t = size(J,3); if k > t k = t; end %图像叠加 K

Python 列表 List

独自空忆成欢 提交于 2019-11-28 03:02:53
列表 List 讓 Python 的資料型態 Data Type 更有彈性。列表中的值稱為元素 element 或列表項 item。 列表的定義如下: [ item1, item2, item3, ...] 列表中元素的 data type 可為任意項,甚至可以是嵌入 Nested 列表,例如: ['Apple', 85, ['Big', 'Small'], 4.0] 列表可被視為一個集合 Set。 1. 子集合相加 >>> A = [ 1, 2, 3 ] >>> B = [ 4, 5, 6 ] >>> C = A + B >>> C [1, 2, 3, 4, 5, 6] 2. 次集合 >>> C[1:3] [2, 3] 3. 變更元素 >>> C[0] = 99 >>> C [99, 2, 3, 4, 5, 6] 4. 遍歷列表 >>> for i in C: ... print (i) ... 99 2 3 4 5 6 5. 刪除元素 >>> C.pop(1) 2 >>> C [99, 3, 4, 5, 6] 6. 列表與字符串 字符串String是字符的序列,而列表List是值的序列。 >>> S = 'rice' >>> T = list(S) >>> T ['r', 'i', 'c', 'e'] >>> S = S + ' noodle' >>> T = list(S)