怎么做网站外贸,123上网,手机wordpress上传失败,成都网站推广公司排名NO.1 思路#xff1a;直接计算结果#xff0c;先计算怪物可以抗几次攻击#xff0c;再计算勇士受到的伤害#xff0c;如果勇士的攻击力大于等于怪物的血量#xff0c;那么就可以击杀无数只#xff0c;如果勇士的血量正好是受到攻击的整数倍#xff0c;那么击杀的怪物数…NO.1 思路直接计算结果先计算怪物可以抗几次攻击再计算勇士受到的伤害如果勇士的攻击力大于等于怪物的血量那么就可以击杀无数只如果勇士的血量正好是受到攻击的整数倍那么击杀的怪物数量就减一。
代码实现
#includeiostreamusing namespace std;int t;
int h,a,H,A;int fun()
{if(aH) return -1;int m(H/a)(H%a!0?1:0);int nm-1;int xn*A;int reth/x-(h%x0?1:0);return ret;
}
int main()
{cint;while(t--){cinhaHA;coutfun()endl;}return 0;
}NO.2 思路哈希表利用set的哈希表可以去重。
代码实现
#include iostream
#includestring
#includealgorithm
#includeunordered_set
using namespace std;int n;
string s;int main() {cin n;unordered_setstring hash;while(n--){cin s;sort(s.begin(), s.end());hash.insert(s);}couthash.size()endl;}NO.3 思路dfs定义一个bool数组用来标记如果该位置为false那么就ret再dfs搜索dfs中将搜索过的位置的bool数组标记为true再对该位置进行dfs搜索搜索完后直接返回ret就可以了。
代码实现
class Solution {
public:bool vis[210]{0};int citys(vectorvectorint m) {int nm.size();int ret0;for(int i0;in;i){if(!vis[i]){ret;}dfs(m,i);}return ret;}void dfs(vectorvectorint m,int pos){vis[pos]true;for(int i0;im.size();i){if(m[pos][i]!vis[i]){dfs(m,i);}}}
};