小编Pri*_*r3d的帖子

c++ 和 VScode 中的#pragma 区域是什么?

我发现我们可以使用#pragma region和隐藏 VScode 中的代码#pragma endregion。我有两个问题:

  1. 如何#pragma region工作?
  2. 如果我试图在任何其他机器上编译代码,它会影响编译吗?

c++ visual-studio-code

8
推荐指数
2
解决办法
3722
查看次数

有没有一种数学上解决UVA 417的方法?

我正在尝试解决UVA 417,但无法解决。我见过的所有解决方案都首先生成所有可能的值,将它们存储在映射中,然后搜索以查找所需的字符串。这对我来说似乎很微不足道。难道没有办法数学上解决这个问题吗?

考虑输入“ abc”。如果没有规定每个后续字符都应大于当前字符的条件,则可以通过简单地计算1 * 26 ^ 2 + 2 * 26 ^ 1 + 3 * 26 ^ 0来解决。难道没有办法以类似的方式解决原始问题吗?

我包括在网上找到的现有解决方案的代码:

#include <iostream>
#include <string>
#include <map>
#include <queue>

using namespace std;

map<string, int> M;

void generate_positions(){
    queue<string> Q;
    for(char c='a';c<='z';c++) Q.push(string(1,c));

    string s;

    int cont=1;

    while(!Q.empty()){
        s=Q.front();
        Q.pop();

        M[s]=cont;
        cont++;

        if(s.size()==5) continue;

        for(char c=s[s.size()-1]+1;c<='z';c++) Q.push(s+c);
    }
}

int main(){
    generate_positions();

    string s;
    map<string, int> :: iterator it;

    while(cin>>s){
        it=M.find(s);
        if(it==M.end()) cout<<0<<endl;
        else cout<<it->second<<endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

1
推荐指数
1
解决办法
373
查看次数

标签 统计

c++ ×2

algorithm ×1

visual-studio-code ×1