# 不同子串

**题目描述**

一个字符串的非空子串是指字符串中长度至少为1 的连续的一段字符组成的串。  
例如，字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab，一共7 个。  
注意在计算时，只算本质不同的串的个数。  
请问，字符串```0100110001010001```有多少个不同的非空子串？

以下程序实现了这一功能，请你补全空白处的内容：

```cpp
#include <bits/stdc++.h>
using namespace std;

int main()
{
    set<string> s;
    string str;
    cin >> str;
    for (int i = 0; i < str.size(); i++)
        for (int j = i; j < str.size(); j++)
            __________________
    cout << s.size();
    return 0;
}
```


## aop
### before
```cpp

```
### after
```cpp

```

## 答案
```cpp
s.insert(str.substr(i, j - i + 1));
```
## 选项

### A
```cpp
s.insert(str.substr(i, j + i + 1));
```

### B
```cpp
s.insert(str.substr(i, j - i - 1));
```

### C
```cpp
s.insert(str.substr(i, j - i));
```
